Enterprise Infrastructure Intelligence ● Certified engineers online · Fast response guaranteed
웹서버/DB

Cache Stampede와 Thundering Herd: 병렬 캐시 시스템의 재계산 폭증 문제

캐시 만료 시 수천 개의 동시 요청이 데이터베이스를 동시에 쿼리하며 급격한 성능 저하를 유발하는 Cache Stampede 현상과 그 원인 메커니즘, 뮤텍스 잠금·X-Fetch 알고리즘·백그라운드 갱신 등 세 가지 완화 전략을 기술적으로 분석합니다.

2026.09.25  ·  17회  · 

Cache Stampede 발생 메커니즘

Cache Stampede(Thundering Herd)는 병렬 캐싱 시스템에서 인기도 높은 캐시 키가 만료될 때 대량의 동시 요청이 동시에 동일한 데이터베이스 쿼리를 재실행하는 연쇄 실패(cascading failure) 현상입니다. 예를 들어 초당 1만 건의 접근이 발생하는 캐시 키가 만료되면, 수천 개의 요청이 밀리초 단위로 도착하여 모두 캐시 미스를 경험하고 데이터베이스를 동시에 과부하 상태로 빠뜨립니다.

완화 전략 비교

뮤텍스 잠금(Mutex Locking)은 결정적 접근으로서 캐시 미스 시 한 프로세스만 잠금을 획득하고 데이터를 재계산하며, 나머지는 대기하거나 부실(stale) 값을 반환합니다. 동시 재계산을 완전히 차단하나 잠금 메커니즘 구현의 복잡성과 경합 비용이 발생합니다. X-Fetch 알고리즘은 확률론적 조기 갱신으로, 각 프로세스가 독립적으로 재계산 필요성을 판단하며 만료 시점 접근 시 재계산 확률이 증가합니다. 공식 time() - delta · beta · log(rand()) ≥ expiry를 기반으로 하며, 메모리 오버헤드와 부분적 부실성이 트레이드오프입니다. 백그라운드 갱신은 외부 프로세스에서 주기적 또는 접근 기반으로 갱신하며 정적 캐시에 적합하나 별도 운영 부담이 있습니다.

참고 출처: Redis Patterns
WIKIDATA WORKSTATION
AI·렌더링에 최적화된
전문가용 워크스테이션
NVIDIA RTX GPU · 최대 192GB 메모리 · ECC 지원