2011-03-22 3 views
1

여러 사진 업로드를 처리하는 컨트롤러 조치가 있습니다 (이는 Plupload을 사용하여 업로드됩니다). 업로드 된 각 파일의 경우, 컨트롤러는 다음 작업을 수행합니다파일 업로드 컨트롤러가 AsyncController로 변환하면 성능이 향상됩니까?

  • 이 사진
  • 7 개 크기를 조정할 버전 아마존 S3에 데이터베이스에 사진에 대한
  • 저장 정보를이 7 개 버전 업로드를 만듭니다.

이 웹 응용 프로그램의 최종 사용자는 한 번에 100 장의 고해상도 (~ 4MB) 사진을 업로드하므로 성능이 우선입니다.

이 시나리오에서 컨트롤러를 AsyncController로 변경하면 성능이 향상됩니다 (즉, 앱이 업로드를 처리하기 위해 대기하는 데 소비되는 총 시간).

답변

1

아마 성능은 향상되지 않지만 IO 바인드 작업 인 Amazon S3 서버에서의 업로드를 기다리는 동안 작업자 스레드가 특히 느려질 수 있으며 I/O 완료 포트의 이점을 누릴 수 있습니다. 늘어나는만큼 CPU의 바운드 작업에 관심이 있으므로 알고리즘을 개선하는 것 이외에는 할 수있는 일이별로 없습니다.

+0

그래서 Amazon S3에 여러 번 동시에 업로드하면 총 실행 시간에 관한 한 이익이 발생합니다. – jessegavin

+0

@ jessegavin을 사용하면 비동기 컨트롤러가 여전히 차단되어 사용자가 기다려야하는 총 시간의 이점을 얻을 수 없습니다. 그러나 I/O 완료 포트로 인해 작업자 스레드를 해제 할 때 다른 작업의 전반적인 성능이 향상 될 수 있습니다. 다음은 좋은 기사입니다. http://msdn.microsoft.com/en-us/magazine/cc163725.aspx –

+0

대단히 감사합니다. 나는이 질문을 다른 대답을 위해 조금 열어 두겠다. 감사합니다. – jessegavin

관련 문제