병목 진단 경험 + 지표 기반 접근
서비스 응답 속도 저하가 반복되는 상황에서 어느 단계에서 시간이 가장 많이 소요되는지 파악하기 위해 요청별 처리 시간을 로그로 쌓고 분석했습니다. 처음에는 DB 쿼리를 의심했는데, 실제로는 외부 API 호출 타임아웃이 전체 지연의 68%를 차지하고 있었습니다. 단순히 느리다는 증상만 보면 엉뚱한 곳을 최적화하게 됩니다.
데이터를 단계별로 쪼개지 않으면 병목을 잘못 짚는 경우가 더 많습니다. 진단 후 해당 API 호출에 타임아웃 제한과 fallback을 추가했고 P95 응답시간이 40% 줄었습니다. 앞으로도 증상이 아닌 단계별 데이터로 병목을 찾는 방식을 유지하겠습니다. 앞으로도 증상이 아닌 단계별 데이터로 병목을 찾는 방식을 유지하겠습니다.
단순히 느리다는 증상만 보면 엉뚱한 곳을 최적화하게 됩니다. 데이터를 단계별로 쪼개는 것이 진단 정확도를 결정하는 핵심입니다. 외부 API 호출처럼 통제하기 어려운 구간일수록 타임아웃과 fallback이 필요합니다.