キャッシュスタンピード - CI/CD用語集の定義
キャッシュスタンピードは、同じキーに対する同時多発的なcache missの急増で、1つがcacheを埋めて残りに提供する代わりに、すべての消費者が同じ値を一斉に再計算します。
キャッシュスタンピードは、cacheエントリが期限切れになるか無効化され、多数の並行する消費者が同時にmissし、全員が同じ高コストの結果を同時に再計算してバックエンドに過負荷をかけるときに発生します。
スタンピードはcache特有の thundering herd の一種で、無効化の後に多くの並列CI jobが一斉に開始するときによく起こります。
緩和策
一般的な対策には、リクエストの合体(1つのworkerが計算し、他は待つ)、時間をずらした、あるいはjitterを加えた有効期限、そして単一のworkerがバックグラウンドで更新する間、古い値を提供することが含まれます。
関連ガイド
Thundering Herd - CI/CD Glossary DefinitionThundering Herd: The thundering herd problem is when a large number of processes or requests are all released…
Remote Build Cache - CI/CD Glossary DefinitionRemote Build Cache: A remote build cache is a shared, network-accessible store of build outputs that multiple…
Backoff with Jitter - CI/CD Glossary DefinitionBackoff with Jitter: Backoff with jitter spaces out retries by increasing the delay after each attempt (backo…