commons-dbcp-1.4 사용 중 커넥션 풀 대기 및 전자정부프레임워크 설정 문의드립니다
- 작성자 :
- p******a
- 작성일 :
- 2024-11-05 10:18:54
- 조회수 :
- 309
- 구분 :
- 실행환경 / 3.9
- 진행상태 :
- 완료
Q
org.apache.commons.dbcp.BasicDataSource 설정은 이렇게 진행했습니다.
<property name="initialSize" value="100" />
<property name="maxActive" value="100" />
<property name="maxIdle" value="100" />
<property name="minIdle" value="100" />
<property name="maxWait" value="100" />
커넥션 풀을 차지하는 작업이 8개 이상 되면 새 창을 여러 개 열 때 wait 상태에 빠지는 문제가 있습니다.
기존에 열린 창에선 커넥션 풀 개수만큼 작업이 진행되구요.
wait 상태에서 다른 메뉴를 클릭하면 멈춰 있던 새 창이 정상적으로 열리지만 다시 새 창을 여러 개 열면 동일하게 wait 상태에 빠집니다.
dbcp maxActive 등 기본 설정이 8개로 되어 있는데 혹시 빠뜨린 설정이 있는 걸까요?
원인이 정확히 뭔지도 모르겠네요.
확인 부탁드립니다.
<property name="initialSize" value="100" />
<property name="maxActive" value="100" />
<property name="maxIdle" value="100" />
<property name="minIdle" value="100" />
<property name="maxWait" value="100" />
커넥션 풀을 차지하는 작업이 8개 이상 되면 새 창을 여러 개 열 때 wait 상태에 빠지는 문제가 있습니다.
기존에 열린 창에선 커넥션 풀 개수만큼 작업이 진행되구요.
wait 상태에서 다른 메뉴를 클릭하면 멈춰 있던 새 창이 정상적으로 열리지만 다시 새 창을 여러 개 열면 동일하게 wait 상태에 빠집니다.
dbcp maxActive 등 기본 설정이 8개로 되어 있는데 혹시 빠뜨린 설정이 있는 걸까요?
원인이 정확히 뭔지도 모르겠네요.
확인 부탁드립니다.
환경정보
-
- OS 정보 : Red Hat Enterprise Linux Server 7.9 (Maipo)
- 표준프레임워크 버전 : 3.9
- JDK(JRE) 정보 : openjdk 1.8.0_262
- WAS 정보 : jws-5.7
- DB 정보 : EnterpriseDB(postgresql) 9.5.2.7
- 기타 환경 정보 :
A
안녕하세요.
표준프레임워크 센터입니다.
maxActive 값이 풀에서 활성화될 수 있는 최대 커넥션 수인데 해당 부분을 100으로 설정했음에도 불구하고 일부만 사용되는 경우,
다른 부분에서 커넥션 수를 제한하고 있을 가능성이 있습니다.
Postgresql DB에서 관리자 명령으로
DB에서 제공할수 있는 최대 커넥션수를 확인하고
현재 사용중인 커넥션수 등을 모니터링 할 필요가 있어 보이며
할당된 메모리가 충분하지 않아
필요한 만큼 커녁션풀이 확보되지 않았을수도 있습니다.
데드락이 걸린 테이블 또는 쿼리가 있는지 등도 확인대상이 될것으로 보입니다.
또한 Apache DBCP는 removeAbandoned, testWhileIdle, TestOnReturn 과 같은
커넥션 유효성 검사를 위한 몇 가지 설정을 제공하고 있으므로 해당 옵션을 추가하여 검증하는 방법도 검토 가능합니다.
기타 설정에 관련하여서는 다음 아카이브 페이지에서 다운로드 가능한 문서를 참고 부탁 드립니다.
https://archive.apache.org/dist/commons/dbcp/source/
감사합니다.
표준프레임워크 센터입니다.
maxActive 값이 풀에서 활성화될 수 있는 최대 커넥션 수인데 해당 부분을 100으로 설정했음에도 불구하고 일부만 사용되는 경우,
다른 부분에서 커넥션 수를 제한하고 있을 가능성이 있습니다.
Postgresql DB에서 관리자 명령으로
DB에서 제공할수 있는 최대 커넥션수를 확인하고
현재 사용중인 커넥션수 등을 모니터링 할 필요가 있어 보이며
할당된 메모리가 충분하지 않아
필요한 만큼 커녁션풀이 확보되지 않았을수도 있습니다.
데드락이 걸린 테이블 또는 쿼리가 있는지 등도 확인대상이 될것으로 보입니다.
또한 Apache DBCP는 removeAbandoned, testWhileIdle, TestOnReturn 과 같은
커넥션 유효성 검사를 위한 몇 가지 설정을 제공하고 있으므로 해당 옵션을 추가하여 검증하는 방법도 검토 가능합니다.
기타 설정에 관련하여서는 다음 아카이브 페이지에서 다운로드 가능한 문서를 참고 부탁 드립니다.
https://archive.apache.org/dist/commons/dbcp/source/
감사합니다.