Gå til innholdet

Cache stampede

Et cache stampede kan oppstå når samtidige forespørsler ikke finner de samme dataene i cachen og starter samme kostbare arbeid.

Programvarearkitektur

Et cache stampede oppstår når mange forespørsler trenger den samme manglende cacheverdien omtrent samtidig og derfor starter det samme arbeidet ved datakilden. En utløpt verdi eller en cache som starter tom, kan dermed gi en belastningstopp.

I et fiktivt kontrollpanel slår 100 samtidige forespørsler innenfor samme autoriserte dataområde opp summary:tenant-7. Mangler oversikten, og arbeidet ikke koordineres, kan mange identiske omberegninger starte.

Samordne forespørsler om de samme dataene

Request coalescing samordner oppslagene: En pågående omberegning deles for samme nøkkel og dataområde. Andre forespørsler venter kontrollert på resultatet eller får en eldre verdi hvis virksomhetens aktualitetsregel tillater det. Samordningen må ikke blande ulike brukere eller tilgangsområder.

En lås som bare virker innenfor én prosess, koordinerer ikke automatisk alle servere. Mislykkede beregninger og for lange ventetider trenger også en avgrenset feilhåndtering. Cache-invalidering avgjør når en verdi ikke lenger kan brukes; stampede-beskyttelse styrer samtidig fornyelse.

Kilder