Hoppa till innehållet

Cache stampede

En cache stampede uppstår när samtidiga cachemissar startar samma kostsamma beräkning eller datafråga flera gånger.

Mjukvaruarkitektur

En cache stampede uppstår när många anrop behöver samma saknade cachevärde ungefär samtidigt och därför startar samma arbete vid datakällan. Ett utgånget värde eller en cache som startar tom kan på så sätt orsaka en belastningstopp.

I en fiktiv kontrollpanel slår 100 samtidiga anrop inom samma behöriga dataområde upp summary:tenant-7. Om sammanställningen saknas och arbetet inte samordnas kan många identiska omberäkningar starta.

Samordna anrop för samma data

Request coalescing samordnar uppslagen: En pågående omberäkning delas för samma nyckel och dataområde. Andra anrop väntar kontrollerat på resultatet eller får ett äldre värde om verksamhetens aktualitetsregel tillåter det. Samordningen får inte blanda olika användare eller behörighetsområden.

Ett lås som bara verkar inom en process samordnar inte automatiskt alla servrar. Misslyckade beräkningar och för långa väntetider behöver också en avgränsad felhantering. Cacheinvalidering avgör när ett värde inte längre är användbart; stampedeskydd hanterar samtidig förnyelse.

Källor