본문 바로가기

Backend 개발/Backend 성능 개선

[DB 커넥션 풀 설정에 따른 백엔드 API 성능 측정하기]

반응형

커넥션 풀 사이즈에 따라 성능 확인

Spring Boot의 기본 DB 커넥션 풀 사이즈는 10이다. 이 설정을 조절해보며 Artillery로 간단한 백엔드 API 성능 측정하기 의 생성 API 성능을 측정해보겠다.

1) 커넥션 풀 사이즈 줄여보기

application.properties에 다음의 설정으로 커넥션 풀 사이즈를 1로 설정한 후, 성능을 측정해본다.

spring.datasource.hikari.maximum-pool-size=1
spring.datasource.hikari.minimum-idle=0

커넥션 풀 사이즈 1일 때 실행 결과

이전에 아무런 설정 없이(기본 커넥션 풀 사이즈=10) 실행했을 때와 비교해보자

커넥션 풀 사이즈 10일 때 실행 결과

p95가 더 늘어난 것을 확인할 수 있다. 커넥션 풀 사이즈만 줄여도 이렇게 성능 차이가 난다.

이젠 반대로 커넥션 풀 사이즈를 늘려서 실행해보자.

커넥션 풀 사이즈 늘려보기

다음과 같이 설정해서 성능을 측정해보자

spring.datasource.hikari.maximum-pool-size=20
spring.datasource.hikari.minimum-idle=20

커넥션 풀 사이즈 20일 때 실행 결과

아무런 설정 없이(기본 커넥션 풀 사이즈=10) 실행했을 때보다 성능이 조금 나아진 것을 확인할 수는 있지만 이러한 커넥션 풀 증가도 cpu/메모리 등 물리적 제한이 있기 때문에 아무리 늘려도 특정 임계점에 도달하면 속도가 무한정 개선되지는 않을 것이다.

※ 성능 테스트를 할 때는 각 케이스에 대해 동일한 상황과 조건을 두고 테스트를 수행하는 것이 좋다.
난 그래서 매번 테이블을 drop했다가 동일한 데이터를 대상으로 생성 API 성능을 측정했다.

728x90
반응형