No ManagedConnections available within configured blocking timeout ( 30000 [ms]

No ManagedConnections available within configured blocking timeout ( 30000 [ms] ) 직역하면 설정된 블러킹 타임아웃 30초내에 사용가능한 커넥션이 없다라는건데… JDBC Connection Pool은 데이터소스에서 아래와 같이 설정할것이다.

<min-pool-size>10</min-pool-size> <max-pool-size>100</max-pool-size>
가능성이 있는 전제로 이 최대 사이즈 100개를 다 사용중인 상태에서 101번째 커넥션이 필요하게 되었는데 30초를 기다려도 사용가능한 커넥션이 없다라고 생각할 수 있겠다. 그렇다면 부하테스트의 스레드는 최소한 101개 이상이어야 한다는건데… 방금 확인해보니 150개란다… 그럼 일단 max-pool-size 는 최소 150으로 설정을 해야겠고 혹시 부하테스트중에 다른 간섭(?)이 있을 수도 있으므로 안전하게 블러킹 타임아웃도 조금 늘려보면 되지 않을까…
<blocking-timeout-millis>50000</blocking-timeout-millis>
위에는 50초로 늘렸는데 -1 로 설정하면 타임아웃을 발생하지 않고 끝까지 기다리게 된다..
설정매뉴얼사이트: http://community.jboss.org/wiki/ConfigDataSources
참고사이트: http://neverbird.sourceforge.jp/manual/fancy/ch03s06.html https://www-304.ibm.com/support/docview.wss?uid=swg21277330 ]]>

Related Posts