Cache Stampede
Ein Cache Stampede entsteht, wenn gleichzeitige Anfragen dieselben Daten im Cache nicht finden und dieselbe teure Arbeit mehrfach starten.
Ein Cache Stampede entsteht, wenn viele Anfragen ungefähr gleichzeitig einen nicht verfügbaren Cacheeintrag benötigen und deshalb dieselbe Arbeit an der Datenquelle auslösen. Ein abgelaufener Eintrag oder ein leer gestarteter Cache kann so eine Lastspitze verursachen.
In einem fiktiven Dashboard fragen 100 gleichzeitige Aufrufe aus demselben berechtigten Datenumfang den Schlüssel summary:tenant-7 ab. Ist die Zusammenfassung nicht im Cache und wird nichts koordiniert, können viele identische Neuberechnungen starten.
Gemeinsame Anfragen bündeln
Request Coalescing bündelt solche Zugriffe: Eine laufende Neuberechnung wird für denselben Schlüssel und Datenumfang gemeinsam genutzt. Andere Anfragen warten kontrolliert auf das Ergebnis oder erhalten einen älteren Wert, falls die fachliche Aktualitätsregel dies erlaubt. Die Bündelung darf keine unterschiedlichen Benutzer- oder Berechtigungsbereiche zusammenführen.
Eine nur innerhalb eines Prozesses wirkende Sperre koordiniert nicht automatisch alle Server. Auch fehlgeschlagene Berechnungen und zu lange wartende Anfragen benötigen einen begrenzten Fehlerweg. Cache-Invalidierung entscheidet, wann ein Eintrag nicht mehr verwendbar ist; Stampede-Schutz regelt, wie die gleichzeitige Erneuerung beherrscht wird.
Quellen
Verwandte Begriffe
- CachingCaching verwendet bereits gespeicherte Daten oder Ergebnisse erneut. Gültigkeit und erlaubter Nutzerbereich gehören zur Planung.
- Cache-InvalidierungCache-Invalidierung beendet die Wiederverwendung einer gespeicherten Kopie nach definierten Regeln. Das Quelldatum bleibt davon getrennt.
- BackpressureBackpressure passt den Datenzufluss an die Verarbeitungskapazität des Empfängers an, indem dieser eine Verlangsamung oder Pause signalisiert.
- Race ConditionEin fehlerhaftes Ergebnis hängt von der zeitlichen Reihenfolge überlappender Zugriffe ab.
- Memory LeakNicht mehr benötigter Speicher bleibt während des Betriebs unnötig gebunden.
- NebenläufigkeitMehrere Aufgaben so organisieren, dass ihre Bearbeitungszeiträume überlappen können.
Ihr Vorhaben mit ASES
Beschreiben Sie uns Ihr Vorhaben. Wir melden uns mit einer ersten Einschätzung.