프로파일러 먼저 확인 후 병목 제거
대용량 트래픽 처리 경험은 동아리 서비스의 서버 과부하 사태를 해결하면서 시작됐습니다. 이벤트 오픈 직후 동시 접속자가 평소의 10배가 되자 API 응답 시간이 5초 이상으로 늘어났습니다. 원인 분석에서 DB 쿼리 N+1 문제가 주요 병목이었고, ORM 레이어의 즉시 로딩(eager loading)으로 쿼리 수를 크게 줄였습니다.
캐싱 레이어(Redis)를 추가해서 자주 조회되는 랭킹 데이터를 메모리에 두면서 DB 부하가 크게 내려갔습니다. 로드 밸런싱 구성도 시도했는데, 단일 서버보다 요청이 분산되면서 최고 부하 시점 응답 시간이 절반 이하로 줄었습니다. 성능 튜닝은 프로파일러로 수치를 먼저 확인하고 추정으로 최적화하지 않는 원칙이 가장 효과적이었습니다.