커버링 인덱스로 11초 쿼리를 100ms로 단축시키기: 실제 장애 해결 과정
·
Jungle
100 TPS 부하 테스트에서 데이터베이스가 완전히 마비되는 상황을 겪었다. 원인은 단 하나의 쿼리였고, 해결책은 커버링 인덱스였다. 이번 포스트에서는 실제 장애 상황부터 해결까지의 전 과정을 상세히 공유해보려고 한다.🚨 장애 발생: 데이터베이스 완전 마비부하 테스트 중 발생한 임계 상황k6를 이용한 부하 테스트에서 100 TPS(초당 트랜잭션 수) 목표 달성 중 시스템이 완전히 멈춰버렸다.장애 지표:RDS CPU 사용률: 99.61% (완전 포화)DB 평균 활성 세션(AAS): 126.00 (최대 vCPU 용량의 63배!)k6 경고: "Insufficient VUs" - 서버가 응답하지 못해 가상 사용자 생성 불가장애의 실제 모습결국 요청이 계속 쌓이면서 서버가 완전히 멈췄고, 테스트를 강제 종료해야..