삼쩜삼이 5월 종합소득세 신고 시즌의 3배 TPS 급증에 대비해 K6 기반 부하 테스트를 설계하고, HikariCP/HTTP 클라이언트/Kafka/Redis 최적화를 통해 시스템 안정성을 확보한 과정을 정리한다.
핵심 포인트- K6를 활용해 3월-4월 APM 데이터에서 상위 10개 고트래픽 API를 선별해 실사용자 시나리오 부하 테스트 설계
- AWS CloudWatch(Micrometer), InfluxDB(K6 메트릭), Prometheus(Kafka Exporter), Grafana로 통합 모니터링 스택 구성
- HikariCP 커넥션 풀 설정 최적화로 DB 커넥션 재사용률 개선
- OpenFeign 클라이언트를 OkHttp에서 Apache HTTP Client로 통일해 커넥션 풀 관리 일원화
- Kafka 파티션 수와 컨슈머 스케일 조정, Redis 캐싱으로 DB 쿼리 부하 감소
상세 정리- 3월-4월 실서비스 APM·OpenSearch 로그 분석으로 피크 트래픽 API Top 10을 정의, 테스트 현실성 확보
- 외부 API(카카오 로그인, 웹 스크래핑)는 Mock 서버로 대체해 외부 시스템에 영향 없이 격리 테스트 환경 구성
- Micrometer push 모델로 애플리케이션 메트릭을 CloudWatch로 전송, K6 HTTP 메트릭은 InfluxDB에 저장
- Kafka Exporter → Prometheus 파이프라인으로 메시지 큐 메트릭을 Grafana 대시보드에서 통합 시각화
- HikariCP minimumIdle, maximumPoolSize, connectionTimeout, idleTimeout 파라미터 체계적 조정
- OpenFeign 클라이언트 라이브러리를 Apache HTTP Client로 통일하면 커넥션 풀·타임아웃 설정 일관성 확보
- Redis는 변경 빈도가 낮은 데이터를 캐싱해 DB 쿼리 중복 제거
- Kafka 파티션 증가로 컨슈머 병렬 처리 확대, 피크 시 메시지 지연 방지
- 결과: 5월 실제 피크 트래픽에서 성능 저하 없이 목표 TPS 달성, 팀 간 표준 성능 설정 수립
왜 읽나계절성 피크 트래픽을 앞두고 실서비스 부하 테스트 환경을 구성하고 주요 병목(DB/HTTP/Kafka/캐시)을 체계적으로 최적화하려는 백엔드 팀에 실전 레퍼런스를 제공한다.