Title
exp014_DB Connection Pool 수 변경 시 게시글 조회 요청 처리량 변화 관찰
Research Question
DB Connection Pool 수를 올리면 게시글 조회 요청에 대한 Throughput이 늘어날까?
Summary
- 참조계에서도 Connection pool을 10, 40, 80 설정을 바꿔서 실행해보았으나 유의미한 성능 변화를 관찰할 수 없었음
- Connection pool 설정 또는 범위 결정에 문제가 있는 것으로 추측됨.
- 또는 Connection pool이 성능 자체에 영향을 미치지 않는 상황일 가능성도 있음
Background Information
Situation
- 부하 테스트 툴 nGrinder을 활용하여 경매 래플 어플리케이션 시스템의 서버 부하 테스트 진행중인 상황.
- 이전 실험(test-pyramid-20230303-003, test-pyramid-20230303-004)에서 Connection pool 증가에 따른 게시글 생성 성공율 변화를 관찰하려 했으나, 유의미한 성능 개선이 이뤄지지 않음
- 이러한 결과에 따라 과연 갱신계가 아닌 참조계의 성능에도 유의미한 성능 개선이 발생하지 않는가라는 의문을 해소하기 위해 이 실험을 기획
- 만약 이번 참조계 실험에서도 connection pool 수 향상에 따라 차이가 없다면 connection pool 설정에 문제가 있는 것으로 예상됨
Procedures
비교할 과거 실험 : test-pyramid-20230301-005
현재 실험 : test-pyramid-20230303-005
Data Recording & Analysis
test-pyramid-20230303-005
그래프의 변동이 매우 컸다.
비교할 과거 실험 : test-pyramid-20230301-005
- VUser : 1000
- Duration : 10ms
- cache layer : Redis Cloud
- PM2 : No cluster mode
- DB max Connection : default(10)
- Result
- TPS : 1459
- MTT : 654
현재 실험 : test-pyramid-20230303-005
- VUser : 1000
- Duration : 10ms
- cache layer : Redis Cloud
- PM2 : No cluster mode
- DB max Connection : 40
- Result
- TPS : 1480
- MTT : 645
TPS, MTT는 큰 차이가 없다. 두 실험의 그래프를 비교해보자.
그래프도 큰 차이가 없다. 이건 뭔가 잘못된 것이다. connection pool 10과 40의 차이가 거의 나타나지 않는다. 그렇다고 해서 connection pool의 설정이 잘못되었다는 가설을 검증하기에는 아직 데이터가 부족하다.
여기서 한번만 더 가보자. 만약 connection pool의 default 값이 10이 아니라면? ChatGPT도 블로그들도 모두 10이라고 했지만, 만약 그게 틀렸다면?
한번 connection pool을 현재 DB max_connection 설정값에 가까운 80으로 바꿔서 실험해보자. 만약 80으로 설정해도 큰 변화가 없으면 connection pool 설정에 문제가 있거나 아니면 현재 상황에서 connection pool은 성능 개선의 변수가 되지 못하는 것이다.
test-pyramid-20230303-006
추가 현재 실험 : test-pyramid-20230303-006
- VUser : 1000
- Duration : 10ms
- cache layer : Redis Cloud
- PM2 : No cluster mode
- DB max Connection : 80
- Result
- TPS : 1450
- MTT : 658
오히려 등락폭이 더 커졌다.
이전 실험과 큰 차이가 없다.
지금까지 Connection pool 설정을 계속 바꾼 결과 유의미한 성능 변화를 확인할 수 없었다.
Discussion
Conclusion
- 참조계에서도 Connection pool을 10, 40, 80 설정을 바꿔서 실행해보았으나 유의미한 성능 변화를 관찰할 수 없었음
- Connection pool 설정 또는 범위 결정에 문제가 있는 것으로 추측됨. 또는 Connection pool이 성능 자체에 영향을 미치지 않는 상황일 가능성도 있음
Reference
Appendix
test-pyramid-20230303-005
Application Server
RDS
test-pyramid-20230303-006
Application Server
RDS
'Log > Experiment' 카테고리의 다른 글
exp016_VUser 수에 따른 게시글 생성 성공률 변화 관찰 (0) | 2023.03.08 |
---|---|
exp015_Nginx 적용 여부에 따른 게시글 생성 요청 성공률 변화 관찰 (0) | 2023.03.06 |
exp013_DB Connection Pool 수 확대로 인한 게시글 생성 성공률 변화 관찰 (0) | 2023.03.04 |
exp012_PM2 클러스터모드 적용 여부에 따른 게시글 생성 성공률 변화 관찰 (0) | 2023.03.03 |
exp011_게시글 생성 30,000개 생성 요청 시 30,000개가 모두 생성될까 (2) | 2023.03.03 |
댓글