[Spring] DB커넥션풀과 Hikari CP 알아보기
실무환경에서 DataBase 성능 최적화 및 ORM에 대해 이야기 할때 커넥션풀이라는 단어가 자주 등장하여 한번 정리가 필요할 것 같아 정리한 포스트 입니다.
velog.io
DeadLock 피하기
이론적으로 필요한 최소한의 커넥션 풀 사이즈를 알아보면 다음과 같다.
PoolSize = Tn × ( Cm -1 ) + 1
- Tn : 전체 Thread 갯수
- Cm : 하나의 Task에서 동시에 필요한 Connection 수
위와 같은 식으로 설정을 한다면 데드락을 피할 수는 있겠지만 여유 커넥션풀이 하나 뿐이라 성능상 좋지 못하다.
따라서 커넥션풀의 여유를 주기위해 아래와 같은 식을 사용하는것을 권장한다.
PoolSize = Tn × ( Cm - 1 ) + ( Tn / 2 )
- thread count : 16
- simultaneous connection count : 2
- pool size : 16 * ( 2 – 1 ) + (16 / 2) = 24
더 자세히 알아보고 싶으면 다음 블로그에서 확인하면 좋을듯 하다.
HikariCP Dead lock에서 벗어나기 (실전편)
'TIL' 카테고리의 다른 글
[Read IT Today] 20220914 (0) | 2022.09.15 |
---|---|
wsl2 설치 및 도커설치 (0) | 2022.09.13 |
SSL Exception 해결하기. 500에러 (0) | 2022.08.29 |
jackson 으로 json값 주고 받기 (+ gson) (0) | 2022.08.25 |
cmd 명령어 정리 (0) | 2022.08.25 |