커넥션 풀을 설정 없이 사용했을때는 14개로 고정되어 있었다.
현재 예약 과정에서 동시에 요청될 수 있는 커넥션 수는 총 24개이며, 이를 수정해보자.
재현 단계
4. 커넥션 풀 수정
아래와 같이 각 토픽마다 파티션 3개가 있으며, 각 파티션마다 Processor 에서 스레드를 할당하여 메시지를 소비하고 DB I/O 가 발생합니다.
예약 과정에서 토픽은 총 8개로 토픽마다 파티션은 3개, 총 24개의 스레드가 DB I/O 작업을 하게됩니다.
따라서 다음과 같이 설정을 하여 스레드가 커넥션을 할당받을 수 있도록 커넥션 풀을 조정하였습니다.
minimum idle : 24
maximum pool size : 100
QPS 가 기존에는 최대 4.4k 에 그쳤지만, 6.1k 로 증가하였다.
이전의 배치, 인덱스 설정보다 Throughput 이 훨씬 많이 증가하였다. 2 ~ 40% 가량 증가
이슈 개요
커넥션 풀 조정
4. 커넥션 풀 수정
커넥션 풀을 설정 없이 사용했을때는 14개로 고정되어 있었다. 현재 예약 과정에서 동시에 요청될 수 있는 커넥션 수는 총 24개이며, 이를 수정해보자.
재현 단계
4. 커넥션 풀 수정
아래와 같이 각 토픽마다 파티션 3개가 있으며, 각 파티션마다 Processor 에서 스레드를 할당하여 메시지를 소비하고 DB I/O 가 발생합니다. 예약 과정에서 토픽은 총 8개로 토픽마다 파티션은 3개, 총 24개의 스레드가 DB I/O 작업을 하게됩니다. 따라서 다음과 같이 설정을 하여 스레드가 커넥션을 할당받을 수 있도록 커넥션 풀을 조정하였습니다.
예상 동작
실제 동작
추가 정보