😀 Jerry/면접 질문

[1분 면접] 캐시 스탬피드 현상에 대하여 설명해주세요.

Jerry_K 2025. 3. 26. 12:18

📌 면접 답변

Cache Stampede (캐시 쇄도, 캐시 스탬피드)

 

https://toss.tech/article/cache-traffic-tip

  • 여러 요청이 동시에 캐시가 만료된 데이터를 요청하면서, 모두가 DB에 몰리는 상황
  • DB로 트래픽이 집중되어 서비스 장애가 발생할 위험이 있다.

 

 

Stamped 현상

  • stamped는 말이나 소 떼가 공포에 질려 한 방향으로 갑자기 달리는 것을 의미한다. 
  • cache Stampede도 마찬가지로 캐시가 비는 순간, 수많은 요청이 우르르 백엔드로 몰려드는 상황이 생긴다. 

 

Cache Stampede 완화 방법

1. Locking (잠금)

  • 한 요청 처리 스레드만 캐시 적재를 수행하고, 나머지 스레드는 대기
    • 캐시를 적재하면 TTL(Time-To-Live,만료 시간) 늘어남
  • 성능 저하 가능성
  • 잠금 스레드 실패 시 문제 발생
  • 잠금 생명 주기 및 데드락 고려 

뭐만 하면 잠금하면 왠만하면 해결되긴하는데, 성능 저하 문제가 있다 ... 

또한 잠금으로 인한 데드락 문제는 덤이고 ㅠㅠ 

 

2. External Recomputation (외부 재계산)

  • 별도의 모니터링 스레드로 캐시의 만료시간이 얼마 남지 않은 경우, 데이터를 미리 갱신
  • 요청 스레드가 직접 캐시 적재에 관여하지 않는다.
  • 하지만 사용되지 않을 데이터를 포함하여 갱신하기 때문에 메모리가 낭비 될 수 있다.

 

3. Probabilistic Early Recomputation (확률 조기 재계산)

  • 캐시 만료가 임박했을 때, 일부 요청 스레드만 확률적으로 캐시 재계산
    • 요청 자체가 캐시를 갱신 (TTL이 늘어남)
  • 중복 계산이 줄이고, 스탬피드 완화 가능
  • 확률 계산 로직이 복잡할 수 있음

📌 내 답변

캐시 스탬피드 현상에 대해 처음 들어본다.

하지만 stampede (몰려들다) 라는 단어로 유추해보자면,

캐시에 많은 데이터들이 갑자기 몰려들어와서, 캐시의 제대로 된 기능을 수행하지 못하거나

또는 데이터가 누락되는 것을 의미하는 것 같다. 

긍정적인 현상은 아닌 것 같다.

 

Self - Feedback

  • 모르는 개념이지만, 뜻을 통해 최대한 유추해보려는게 나쁘지는 않았다.
  • 캐시에 몰려드는 것이 아니라, DB에 몰려드는 것이다. 
  • 다만, 뜻 유추의 깊이가 아쉽다.  (키워드 하나 하나에 대부분 사전적 의미와 연관성이 높다.)  

[출처 및 참고 자료]

 

https://www.maeil-mail.kr/question/132

 

매일메일 - 기술 면접 질문 구독 서비스

기술 면접 질문을 매일매일 메일로 보내드릴게요!

www.maeil-mail.kr

면접 내용 출처

https://toss.tech/article/cache-traffic-tip

 

캐시 문제 해결 가이드 - DB 과부하 방지 실전 팁

대용량 트래픽 환경에서 캐시를 사용할 때 주의해야할 위험 상황과 예방법을 소개합니다.

toss.tech

토스 테크