사용자 도구

사이트 도구


java:database:dbcp

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
java:database:dbcp [2016/01/03 21:17]
kwon37xi [validationQuery]
java:database:dbcp [2018/12/18 16:19] (현재)
kwon37xi [Eviction 정책]
줄 4: 줄 4:
  
 ===== Eviction 정책 ===== ===== Eviction 정책 =====
-  * ''numTestsPerEvictionRun'' : ''-1''을 주면 매번 전체 idle 커넥션에 대한 eviction 테스트를 진행하며 이 경우에는 성능저하가 있을 수 있음.+  * ''numTestsPerEvictionRun'' : ''-1''을 주면 매번 전체 idle 커넥션에 대한 eviction 테스트를 진행하며 이 경우에는 성능저하가 있을 수 있음. **tomcat jdbc connection pool 에서는 이 값을 무시하고 항상 전체 커넥션을 validation 한다.**
   * ''timeBetweenEvictionRunsMillis'' : ''numTestsPerEvictionRun''이 작은 상태에서 이 값도 작으면 오랜시간 idle 상태로 유지되면서 비정상 커넥션으로 떨어질 가능성이 높아짐.   * ''timeBetweenEvictionRunsMillis'' : ''numTestsPerEvictionRun''이 작은 상태에서 이 값도 작으면 오랜시간 idle 상태로 유지되면서 비정상 커넥션으로 떨어질 가능성이 높아짐.
   * 결국, ''numTestsPerEvictionRun''는 작게(3 정도?), ''timeBetweenEvictionRunsMillis'' 도 작게(5000ms 정도?)로 주는 것이 좋다.   * 결국, ''numTestsPerEvictionRun''는 작게(3 정도?), ''timeBetweenEvictionRunsMillis'' 도 작게(5000ms 정도?)로 주는 것이 좋다.
줄 21: 줄 21:
   * [[database:mysql:jdbc|MySQL JDBC]]의 경우에는 ''/* ping */''으로 시작하는 쿼리를 지정해도 동일한 효과가 난다.   * [[database:mysql:jdbc|MySQL JDBC]]의 경우에는 ''/* ping */''으로 시작하는 쿼리를 지정해도 동일한 효과가 난다.
   * ''validationQueryTimeout'' 값도 함께 지정해주도록 한다. 초(sec) 단위.   * ''validationQueryTimeout'' 값도 함께 지정해주도록 한다. 초(sec) 단위.
 +
 +===== connectionInitSqls =====
 +  * 접속 맺은 후 실행할 명령 List
 +
 +===== removeAbandoned* =====
 +  * 과거에 connection을 직접 맺고 끊던 시절에 close를 올바로 안한 커넥션을 강제 반환 시키는 옵션으로 보임.
 +  * 현대 애플리케이션은 프레임워크가 커넥션을 관리하기 때문에 close가 안될 가능성이 적음.
 +  * 설정할 필요가 기본으로는 없어 보임.
 +  * 만약 설정한다면 최대 시간을 애플리케이션이 실행할 쿼리의 최대 시간보다 약간 큰 값으로 해야한다.
  
 ===== 참고 ===== ===== 참고 =====
   * [[http://www.slideshare.net/psteitz/apachecon2014-pooldbcp|Apache Commons Pool and DBCP - Version 2 Update]] : 필독. 매우 좋은 DBCP2 소개글.   * [[http://www.slideshare.net/psteitz/apachecon2014-pooldbcp|Apache Commons Pool and DBCP - Version 2 Update]] : 필독. 매우 좋은 DBCP2 소개글.
-  *   * [[https://arviarya.wordpress.com/2013/02/15/apache-dbcp-connection-pool-revisited/|Apache DBCP connection Pool Revisited]] : DBCP 1 기준.+    * [[https://arviarya.wordpress.com/2013/02/15/apache-dbcp-connection-pool-revisited/|Apache DBCP connection Pool Revisited]] : DBCP 1 기준. 
 +  * [[http://d2.naver.com/helloworld/5102792|Commons DBCP 이해하기]]
java/database/dbcp.1451825273.txt.gz · 마지막으로 수정됨: 2016/01/03 21:17 저자 kwon37xi