본문 바로가기
memo

HiKariCP

by 킹차니 2023. 8. 1.

WAS와 MySql 사이가 연결하기 위해서는 커넥팅 비용이 많이 차지함.

 

Connection을 차지하는 비용이 많이 듬.

 

해서 Connection PoolConnection을 미리 만들어 둔다!

 

https://medium.com/javarevisited/why-do-we-need-a-database-connection-pool-every-programmer-must-know-9f90e7c8e5af

이제 WAS는 Connection이 필요할 때마다 Connection Pool에 있는 Connection을 사용하면 되는 것이다.

이렇게 되면 Connection을 생성하는 비용을 줄일 수 있고, Connection의 수를 미리 제한하여 서버 자원 고갈을 방지할 수 있다.

 

이러한 Connection Pool을 사용할 수 있게 해주는 프레임 워크가 HikariCP이다. 

HikaiCP는 요청시에 현재 사용가능한 Connection이 있다면 Connection을 반환해준다.

하지만 만약 Connection이 존재하지 않는다면 다른 쓰레드가 Connection을 반환하길 기다리며 polling을 한다.

 

근데 이러한 생각을 할 수 있다. Connection Pool의 크기가 크면 동시에 많은 요청을 처리할 수 있어서 좋지만, Connection Pool의 크기가 너무 크면 서버 자원을 고갈시킬 수 있는데, 대체 어느 정도 크기의 Connection Pool 사이즈가 적당할까?

 

MySQL 공식 문서에는 600명의 사용자를 대응하는데에는 15-20개의 크기면 충분하다고 한다.

'memo' 카테고리의 다른 글

firebase : Cloud Firestore  (0) 2023.06.10
MSA 간 데이터 동기화  (0) 2023.05.24