-
앱 서버와 데이터베이스 서버 간의 연결을 효율적으로 관리하는 데 있어 커넥션풀의 중요성을 강조하며, 성능 향상과 데이터베이스 안정성을 보장 🔌
-
연결 풀은 TCP 기반 통신을 통해 연결할 때마다 발생하는 Handshake 과정을 줄여 네트워크 연결 비용을 크게 감소시킴 🚄
-
데이터베이스 자원이 고갈되는 것을 방지하고, 애플리케이션 오류에도 불구하고 데이터베이스에 치명적인 영향을 주지 않는 안전 장치 🛡️
-
Hikari 커넥션풀을 사용할 때, 커넥션풀의 최대 크기(max Pool size)를 설정하는 것이 중요하며, 시스템 하드웨어 사양과 작업량을 고려하여 설정 📈
-
데드락(deadlock) 방지 공식을 활용하여, 각 요청에 필요한 연결 수를 고려하여 최소 커넥션 수를 계산하고, 일정 수의 여분 커넥션을 유지하여 데드락을 최소화 🔒
-
min idle 설정은 커넥션풀에 유지되는 최소 휴지 커넥션 수를 제어하며, peak 시간을 감안하여 적절한 수치를 설정하는 것이 중요 ⏱️
-
데이터베이스 서버 설정의 max connection은 동시에 만들 수 있는 최대 연결 수이며, 애플리케이션 서버 수는 데이터베이스 서버의 max connection에 유연하게 적용해야 함 ⛓️