반응형
[상황발생]
local에서 POST 방식으로 10000 ROW 이상의 엑셀 업로드를 처리하고 있었습니다.
이 때, 아래와 같은 오류가 발생하며 컨트롤러에서는 아무 파라미터도 받지 못하는 상황이 발생했습니다.

[원인]
이러한 상황의 원인을 찾아보니, 서버의 Post 파라미터 크기를 초과했기 때문이라고 합니다.
- post 파라미터의 크기를 설정하는 이유
- 너무 큰 크기의 POST 요청의 데이터가 들어오게 되면, 이 데이터를 처리하는 데 부하가 걸려 다른 요청에 장애가 생길 경우를 대비한다.
[Tomcat의 Post 최대 갯수와 크기]
톰캣8.0은 기본적으로 Post로 넘길 수 있는 파라미터의 크기가 다음과 같이 정해져있다.
(https://tomcat.apache.org/tomcat-8.0-doc/config/http.html)
- 최대 개수: 10000개
- 최대 크기(Size): 2097152 (2 megabytes)

- post 파라미터 무제한 설정하기
- maxParameterCount : 0 보다 작은 값으로 설정하면 무제한
- maxPostSize : POST로 전달되는 데이터의 사이즈 설정. 0 보다 작은 값으로 설정하면 무제한
[Tomcat - server.xml 파일 설정하기]
1.
Servers > server.xml 파일을 오픈합니다.

2.
server.xml에서 maxPostSize와 maxParameterCount를 각각 '-1'로 변경하여 무제한으로 설정해줍니다.
- 변경 전
<Connector connectionTimeout="20000" port="80" protocol="HTTP/1.1" redirectPort="8443"/>
👉 변경 후
<Connector connectionTimeout="20000" port="80" protocol="HTTP/1.1" redirectPort="8443" maxPostSize="-1" maxParameterCount="-1"/>
참고.
- Tomcat 7.0.63 미만 : maxPostSize를 '0'으로 설정하면 무제한
- Tomcat 7.0.63 이상 : maxPostSize를 '-1'로 설정해야 무제한
반응형
'Back end > 서버' 카테고리의 다른 글
[서버] WebtoB, JEUS 라이센스 확인 및 갱신 방법 (0) | 2022.05.03 |
---|