일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Spring
- C
- 백준
- 디자인 패턴
- Java
- 운영체제
- 자바
- MSA
- Galera Cluster
- mongoDB
- MySQL
- Data Structure
- 자료구조
- Kafka
- OS
- 네트워크
- Proxy
- 파이썬
- Heap
- 컴퓨터구조
- design pattern
- react
- Algorithm
- spring webflux
- redis
- IT
- JavaScript
- c언어
- JPA
- 알고리즘
Archives
- Today
- Total
시냅스
HikariCP 설정과 유의사항 본문
HikariCP 설정과 유의사항
- maxLifetime
- 커넥션을 최대 얼마동안 연결 유지 할지에 대한 설정
- maxLifetime 에 도달한 커넥션이 사용 중(in-use)이지 않고, 풀에 반납된 상태에서 제거된다.
- 만약 커넥션이 제거되어 부족한 경우 부족한 커넥션 만큼 새로 생성한다.
- 이러한 방식은 wait_timeout 에 의해 커넥션이 끊어졌을 경우를 대비한다.
- 즉 wait_timeout 으로 커넥션이 끊기기를 대비하여 커넥션을 새로 맺는 것
- HikariCp 는 네트워크 지연을 고려하여 maxLifetime 을 db의 wait_timeout 설정보다 2 ~ 3초 정도 짧게 줄 것을 권고한다.
- wait_timeout 이 60초라면 maxLifetime 은 58초가 된다.
- 만약 maxLifetime 이 wait_timeout 보다 크다면, 실제로 wait_timeout 에 의해 커넥션이 끊겼음에도 hikaricp 는 여전히 연결이 유효하다고 가정하고 이는 장애로 이어진다.
- idleTimeout
- 유휴 상태인 커넥션들의 유지시간
- idleTimeout 을 넘기면 연결을 해제한다.
- 실행조건
- minumumIdle < maximumPoolsize
- maxLifetime - 1 > idleTimeout
- connectionTimeout
- 커넥션을 구할때까지 기다리는 시간
- 허용 가능한 wait time 을 초과하면 SQLException 을 던진다.
- minimumIdle
- 커넥션 풀에서 유지할 최소 유휴 커넥션의 최소 개수
- 최적의 성능과 응답성을 요구한다면 이 값을 설정하지 않는 게 좋다.
- 커넥션을 줄였다 늘였다 할 때 성능 저하를 유발한다.
- default 는 maximumPoolSize 와 동일하다
- 즉 minimum 과 maximum 을 동일하게 하여 고정한다.
- maximumPoolSize
- 유휴 상태 + 사용중인 커넥션의 총합 최대 개수 설정 (Pool 에서 사용하는 최대 커넥션 수)
- validationTimeout
- 커넥션의 유효성 검사에 대한 타임아웃 설정
- 이 시간 내에 유효성 검사가 완료되지 않으면 유효하지 않은 것으로 간주
- 단위는 밀리초이며, 기본값은 5,000ms
- initializationFailTimeout
- 커넥션 풀 초기화 실패에 대한 타임아웃 설정값
- 이 시간 내에 초기화가 완료되지 않으면 HikariCP는 풀 생성에 실패한 것으로 간주하고 예외를 발생시킴
- dataSource
- 사용할 DataSource 구현체를 설정
'Java, Spring' 카테고리의 다른 글
Spring 동시성 문제 해결 (비관적 락, Redis 분산락을 적용한 Annotation AOP) (0) | 2023.07.23 |
---|---|
JWT 대신 Session 을 쓰는 이유 (Redis Session Clustering, Spring Security) (2) | 2023.07.17 |
구현하며 이해하는 Spring MVC (0) | 2023.04.16 |
Java 소켓으로 HTTP 요청 구현하기 (0) | 2023.04.16 |
Java NIO 의 작동 원리 (0) | 2023.04.04 |
Comments