데이터베이스 연결 탱크 HikariCP 데이터 원본 데모 만 들 기

HiKariCP 는 데이터베이스 연결 풀 의 후발 주자 로 성능 이 가장 좋다 고 불 리 며 다른 연결 풀 을 완벽 하 게 PK 할 수 있다.
홈 페이지:https://github.com/brettwooldridge/HikariCP
Maven 창고:
<dependency>
    <groupId>com.zaxxergroupId>
    <artifactId>HikariCPartifactId>
    <version>1.3.5version>
    <scope>compilescope>
dependency>

모든 데이터베이스 연결 탱크 에 대해 dataSource 의 설정 은 없어 서 는 안 됩 니 다.
HiKariCP 데이터 원본 설정:
  
<bean id="dataSourceHikari" class="com.zaxxer.hikari.HikariDataSource"  destroy-method="shutdown">  
    
 <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8" />  
 <property name="username" value="${db.username}" />  
 <property name="password" value="${db.password}" />  
    
 <property name="readOnly" value="false" />  
   
 <property name="connectionTimeout" value="30000" />  
   
 <property name="idleTimeout" value="600000" />  
   
 <property name="maxLifetime" value="1800000" />  
   
 <property name="maximumPoolSize" value="15" />  
bean>  

그 중에서 많은 설정 들 이 부족 한 값 을 사용 하면 됩 니 다. max Lifetime 과 maximum PoolSize 를 제외 하고 스스로 계산 해 야 합 니 다.다른 설정 (sqlSession Factory, MyBatis Mapper Scanner Configure, transaction Manager 등) 은 모두 변 하지 않 습 니 다.
Datasource 설정 매개 변수 에 대한 다른 제안: Configure your HikariCP idleTimeout and maxLifeTime settings to be one minute less than the waittimeout of MySQL. 자바 연결 탱크 가 있 는 시스템 에 대해 서 는 MySQL 의 wait 를 권장 합 니 다.timeout 사용 부족 한 8 시간 (http://www.rackspace.com/knowledge_center/article/how-to-change-the-mysql-timeout-on-a-server)。
또한: 웹 프로젝트 에 대해 서 는 destroy - method = "shutdown" 을 설정 해 야 합 니 다.
홈 페이지 에 서 는 HikariCP 가 한 최적화 에 대해 상세 하 게 설명 하 였 으 며, 총 결 은 다음 과 같다.
  • 바이트 코드 간소화: 컴 파일 된 바이트 코드 가 가장 적 을 때 까지 최적화 코드 를 사용 하면 CPU 캐 시 는 더 많은 프로그램 코드 를 불 러 올 수 있 습 니 다.
  • 프 록 시 와 차단 기 최적화: 코드 감소, 예 를 들 어 HikariCP 의 Statement proxy 는 100 줄 코드 만 있 고 BoneCP 의 10 분 의 1 만 있 습 니 다.
  • ArrayList 대신 배열 형식 (FastStatementList) 을 사용자 정의 합 니 다. get () 호출 할 때마다 range check 을 하지 않도록 합 니 다. reove () 를 호출 할 때 처음부터 끝까지 스 캔 하지 않도록 합 니 다.
  • 사용자 정의 집합 유형 (ConcurrentBag): 동시 읽 기와 쓰기 의 효율 을 향상 시 킵 니 다.
  • 다른 BoneCP 결함 에 대한 최적화, 예 를 들 어 하나의 CPU 시간 을 초과 하 는 방법 을 호출 하 는 연구 (그러나 구체 적 으로 어떻게 최적화 하 는 지 는 말 하지 않 았 다).

  • 참고:http://blog.csdn.net/clementad/article/details/46928621

    좋은 웹페이지 즐겨찾기