처리량 증가 시 캐시부터 보는 이유와 경험 서술
처리량 증가 요구가 오면 저는 캐시부터 확인하는 편입니다. 대부분의 트래픽 급증은 같은 데이터를 반복적으로 조회하는 패턴에서 오는 경우가 많아서, 캐싱만으로도 DB 부하를 크게 줄일 수 있습니다.
팀 프로젝트에서 조회 응답이 느려지는 문제가 발생했을 때, 처음에는 서버 스케일업을 고려했습니다. 로그를 보니 같은 데이터를 수백 번 반복 조회하고 있었습니다. 인메모리 캐시를 적용했더니 응답 시간이 70% 줄어들었습니다.
캐시를 먼저 보는 이유는 변경 비용이 상대적으로 낮고 효과가 빠르기 때문입니다. 비동기나 샤딩은 아키텍처를 바꿔야 하는 경우가 많아서 리스크가 크기 때문입니다. 물론 캐시 무효화 전략을 제대로 설계하지 않으면 오히려 데이터 정합성 문제가 발생할 수 있는데, 그 부분은 처음에 꼼꼼히 설계해야 한다는 것을 경험으로 배웠습니다.