MVC.Net 응용 프로그램을 만들었으며 사용자가 약 5MB 크기의 설치 파일을 다운로드 할 수있는 다운로드 페이지가 있습니다. 이 설정 파일은 우리가 다운로드 버튼을 누르면 동적으로 생성됩니다. 이 설정 파일의 동적 생성마다 서버 CPU 사용량의 7 %가 증가합니다. 사용자 수가 100 명 이상 증가하고 모두 파일을 다운로드하려고하면 CPU 사용량이 100 %로 증가하여 서버가 다운되거나 응답이 없어집니다.요청 수에 대한 동시 파일 다운로드 수를 제한하는 방법은 무엇입니까?
이 상황을 극복하기 위해 우리는 코드별로 총 5 개의 다운로드를 논리적으로 제한하려고합니다. 즉, 5 명의 사용자가 한 번에 파일을 다운로드 할 수 있고 6 번째 이후에는 처음 5 번의 다운로드가 완료되지 않을 때까지 대기열에 있습니다. 대기열에있는 사용자에게 "다운로드가 28 초 후에 시작됩니다"정도의 대기 시간을 표시해야합니다.
제안 사항을 달성하는 방법에 대해 매우 높이 평가할 것입니다.
감사합니다, Haidar
얼마나 많은 다른 버전의 설정이있을 수 있습니까? 항상 동적으로 생성해야합니까? – Kasaku
버전은 각 사용자마다 다르며 동적으로 생성해야합니다. – Haidar
비동기 메서드 또는 이러한 파일 배포 대기열 서비스를 등록 할 수 없습니다 - 준비가되었을 때 사용자에게 전자 메일 링크를 보내 파일을 다운로드 하시겠습니까? 24-48 시간 후에 생성 된 파일을 삭제하는 서비스가있을 수 있다고 상상해보십시오. – Tommy