
Ich habe ARR als Reverse-Proxy konfiguriert, der die Ausgabe im Cache speichert. Cache-Einträge haben eine TTL von 20 Minuten, aber es scheint, dass Cache-Dateien für immer auf der Festplatte verbleiben.
TTL wird in der Web.config-Datei der App unter den Umschreibregeln konfiguriert:
<rule name="Default ARR cache control" enabled="true">
<match url=".*" />
<serverVariables>
<!-- First arg of value is: 1 to be always active, 0 only if there are no cache headers set. -->
<set name="ARR_CACHE_CONTROL_OVERRIDE" value="0,max-age=1200" />
</serverVariables>
</rule>
In den HTTP-Antworten kann ich dieses maximale Alter auch korrekt sehen und der Cache läuft tatsächlich ab, ich bekomme neue Ergebnisse geliefert. Wenn ich eine Cache-Datei öffne, wird es auch Cache-Control: public, max-age=1200
in den Header aufgenommen.
Cache-Dateien bleiben jedoch erhalten, auch wenn sie nicht verwendet werden. Das „Cache-Bereinigungsintervall“ ist für das Festplatten-Caching auf 5 Minuten eingestellt, daher gehe ich davon aus, dass Dateien nur maximal 25 Minuten dort verbleiben sollten, aber es gibt auch monatealte Dateien.
Was übersehe ich? Wie kann ich ARR dazu bringen, veraltete Cache-Dateien zu entfernen?
HierEs wird erklärt, wie scavenge.exe verwendet werden kann, um Cache-Dateien auf einemsekundärLaufwerk, aber nichts über das primäre. Oder sollte ich dieses Dienstprogramm manuell ausführen, wenn ich nicht möchte, dass sich das Cache-Laufwerk langsam füllt?
Antwort1
Anscheinend habe ich die Funktionsweise dieser Konfigurationen falsch verstanden und festgestellt, dass das „Cache-Bereinigungsintervall“ mit dem „hohen Schwellenwert für die Datenträgerauslastung“ zusammenhängt.
Vielleicht werden Dateien alle 5 Minuten gelöscht, aber nur, wenn der "Schwellenwert für die Festplattennutzung" erreicht ist? Es scheint, dass dies tatsächlich der Fall ist, wie auch indieser Blog-Beitrag: Ich habe einfach den „unteren Schwellenwert für Datenträgerauslastung“ auf 4 (Prozent) und den „oberen Schwellenwert für Datenträgerauslastung“ auf 5 konfiguriert, und ja, viele Dateien wurden kurzzeitig entfernt.