◇ PART · DB

HikariCP 커넥션 풀

데이터와 MyBatis — 읽기 자료

📍 지금 어디를 만지고 있나요?
브라우저
데이터와 MyBatis
DB

핵심 용어

Connection Pool미리 만들어둔 DB 연결을 재사용하는 패턴.
HikariCP가장 빠른 자바 커넥션 풀 라이브러리.

1. 문제

전 차시까지의 답답함

DB 연결을 매 요청마다 새로 만들면 너무 느리다. 응답 시간이 0.1초 → 1초.

2. 새 도구

HikariCP — 미리 깎아둔 칼통

주방에서 쓰는 칼을 매번 새로 깎지 않고, 미리 깎아둔 칼들을 칼통에 두고 꺼내 쓴다.

3. 코드

<!-- root-context.xml -->
<bean id="hikariConfig" class="com.zaxxer.hikari.HikariConfig">
    <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
    <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/spring_db"/>
    <property name="username" value="root"/>
    <property name="password" value="1234"/>
    <property name="maximumPoolSize" value="10"/>
</bean>
<bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource"
      destroy-method="close">
    <constructor-arg ref="hikariConfig"/>
</bean>

4. 정리

5. Before / After

전 차시 끝

DB 연결을 매 요청마다 새로 만들면 너무 느리다. 응답 시간이 0.1초 → 1초.

이번 차시 끝

커넥션 풀의 효과를 안다. maximumPoolSize 가 무엇을 의미하는지.