상당히 큰 파일 (> 50 MBytes)을 클라이언트에서 서버로 업로드해야하는 Struts 1 웹 응용 프로그램이 있습니다. 현재 org.apache.struts.upload.DiskMultipartRequestHandler를 사용하여 HTTP POST multipart/form-data 요청을 처리하고 있습니다. 정상적으로 작동하지만 초당 약 100KB로 업로드하는 속도가 매우 느립니다.Struts 느린 성능 업로드
동일한 대용량 파일을 서버에서 클라이언트로 다운로드하는 속도가 10 배 이상 빠릅니다. 나는 이것이 동일한 서버에 파일을 전송하기 위해 간단한 FTP 클라이언트를 사용하기 때문에 시간의 1/3 미만을 차지하기 때문에 이것이 내 ISP의 업로드 속도와 다운로드 속도의 차이 일 뿐이라고 생각하지 않습니다.
내장 된 DiskMultipartRequestHandler를 새로운 org.apache.commons.fileupload 패키지로 바꾸는 방법을 살펴 보았습니다. 그러나이 방법을 수정하여 Struts 1에 필요한 MultipartRequestHandler를 만드는 방법을 모르겠습니다.
Barend는 web.xml에서 설정할 수있는 'bufferSize'매개 변수가 아래에 주석으로 표시되어 있습니다. 버퍼 크기를 100KB로 늘렸으나 성능을 향상시키지 못했습니다. DiskMultipartRequestHandler의 구현을 살펴보면, 멀티 패스 경계 문자를 찾기 위해 한 번에 한 바이트 씩 스트림을 읽으므로 해당 성능이 일 수 있다고 생각됩니다.이 제한 될 수 있습니다.
큰 파일을 업로드하는 데 Struts를 사용하는 사람이 있습니까?
누군가 Struts 1과 함께 제공되는 기본 DiskMultipartRequestHandler를 사용자 정의 했습니까?
대용량 파일을 업로드하는 동안 좀 더 기다려야합니까? :-)
그게 좋은 생각입니다! 나는 전에 그것을 알아 차리지 못했다. 감사! 불행히도, 나는 지금 막 시도해 보았고 실제로 변화를 가져 오지 않았다. –