etc

[TomCat]대용량 fileUpload(UpLoad 제한 해제)

IT짭스 2013. 9. 27. 15:25

대용량 fileup load.

(Tomcat 설정으로, 500MB 이상 upload 가능하도록 구현)

변경 내용

mcas.biz project의 파일 업로드 용량 변경.

기존 upload 설정 용량

524288000

변경후 upload 설정 용량

5242880000

 

검색결과 아래의 두 방법을 찾아 보았으나, 현재 project 에선 5GB 이하의 fileUpload만 있을거란 가정하에,

1번만 적용하였습니다.

만약 그 이상의 큰 data를 upload 할 경우엔, 단순 설정만으로는 file이 깨질수 있는위험이 있어, 별도의 컴포넌트 사용을 추천하고 있습니다.

 

1. 톰캣 fileUploadSize 설정변경 page.

1) 경로.

src/main/resources

egovframework

spring/comm/context-common.xml

 

2) 변경 내용.

<bean class="org.springframework.web.multipart.commons.CommonsMultipartResolver"

id="spring.RegularCommonsMultipartResolver">

<property name="maxUploadSize" value="5242880000" /> <-- 업로드 용량 설정 -->

<property name="uploadTempDir" ref="uploadDirResource" />

</bean>

- 기존 업로드 용량

<property name="maxUploadSize" value="524288000" />

- 파일에서 업로드 제한 용량을 설정해 줄 수 있다.

서버에 부하를 줄이기 위해 기본 10M 로 설정이 되어있는데, maxUploadSize 를 프로젝트 상황에 맞추어

변경 하면 된다.

 

2. 톰캣 connectionTimeout 설정 page.

1) file upload시 용량엔 특별한 제한이 없는 것으로 확인 되었으나, connectionTimeout 이 over 될 경우,

upload가 정상적으로 되지 않으며, file이 깨지는 현상이 생길 수 있다.

대용량의 fileUpload를 할 경우 별도의 컴포넌트를 사용하는 것을 추천한다.

default로 설정된 tomcat의 timeout 시간은 30분 이지만, 이 역시 변경 할 수 있다.

2) 경로.

src/main/resources

egovframework

spring/comm/server.xml

 

3) 변경내용.

<connector connectionTimeout="20000" port="8090" protocol="HTTP/1.1" redirectPort="8443">

- Server.xml 중 위 소스의 connectionTimeout 을 변경해 준다.