Tomcat9 최대 사용자 늘리는법(maxTotal, maxWaitMillies)

데이터베이스와 애플리케이션을 효율적으로 연결하는 커넥션 풀(connection pool) 라이브러리는 웹 애플리케이션에서 필수 요소이다. 톰캣은 tomcat-dbcp.jar 이 케넥션 풀 라이브러리다.

 

tomcat9 에 있는 DBCP는 버전이 2이고. 버전2는 DBCP 속성의 이름이 바꼈다.

[DBCP1.x와 DBCP 2.x의속성이름 차이]

 

 

[DBCP 대표적인 속성과 설명]

 

Tomcat9를 밑 버전을 쓰다가 Tomcat9를 사용하였는데 속성 이름으로 maxActive, maxWait를 사용하여 warning이 발생하였다. 해당 속성이 적용이 안되고 maxTotal의 기본값 8로 세팅이 돼 버렸다. 많은 사용자가 들어와야 하는데 8명만 들어올수 있으니 문제가 발생하였다.

16-Nov-2020 15:29:48.327 WARNING [main] org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory.getObjectInstance Name = pdms Property maxActive is not used in DBCP2, use maxTotal instead. maxTotal default value is 8. You have set value of "200" for "maxActive" property, which is being ignored.
16-Nov-2020 15:29:48.327 WARNING [main] org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory.getObjectInstance Name = pdms Property maxWait is not used in DBCP2 , use maxWaitMillis instead. maxWaitMillis default value is -1. You have set value of "5000" for "maxWait" property, which is being ignored.

 

 

server.xml에 속성이름을 maxActive -> maxTotal, maxWait -> maxWaitMilles로 변경하여 이슈를 해결하였다. 톰캣실행할때 warning도 발생안했다.

 

maxWaitMilles 속성은 커넥션풀을 다 사용되고 있는 상황에서 요청이 들어올때 그 요청을 바로 막지 않고 얼마나 기다리게 할지 정하는 것이다.

 

 

참고 사이트 : d2.naver.com/helloworld/5102792

 

댓글

Designed by JB FACTORY