Gå til indholdet

Cache stampede

Et cache stampede opstår, når samtidige cache-misses starter den samme dyre beregning eller dataforespørgsel flere gange.

Softwarearkitektur

Et cache stampede opstår, når mange forespørgsler omtrent samtidig skal bruge den samme manglende cacheværdi og derfor starter det samme arbejde ved datakilden. En udløbet værdi eller en cache, der starter tom, kan således skabe en belastningstop.

I et fiktivt dashboard slår 100 samtidige forespørgsler inden for samme autoriserede dataområde summary:tenant-7 op. Mangler oversigten, og koordineres arbejdet ikke, kan mange ens genberegninger starte.

Saml forespørgsler om de samme data

Request coalescing samler disse opslag: En igangværende genberegning deles for samme nøgle og dataområde. Andre forespørgsler venter kontrolleret på resultatet eller får en ældre værdi, hvis den forretningsmæssige regel for aktualitet tillader det. Samlingen må ikke blande forskellige brugere eller adgangsområder.

En lås, der kun virker inden for én proces, koordinerer ikke automatisk alle servere. Mislykkede beregninger og for lange ventetider kræver også en afgrænset fejlhåndtering. Cache-invalidering afgør, hvornår en værdi ikke længere kan bruges; stampede-beskyttelse styrer samtidig fornyelse.

Kilder