I ' Мы настроили ARR как обратный прокси, который выполняет кэширование вывода. Записи кэша имеют TTL 20 минут, но кажется, что файлы кеша остаются на диске навсегда.
TTL настраивается в файле Web.config приложения в соответствии с правилами перезаписи:
<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>
В HTTP-ответах я также могу правильно видеть этот максимальный возраст и срок действия кеша действительно истекает, я получаю новые результаты. Если я открою файл кеша, он также будет включать в свой заголовок Cache-Control: public, max-age = 1200
.
Однако файлы кеша остаются, даже если они не используются. «Интервал очистки кэша» установлен на 5 минут для кэширования диска, поэтому я предполагаю, что файлы должны оставаться там не более 25 минут, но есть и старые месяцы.
Что мне не хватает , как я могу заставить ARR удалять устаревшие файлы кеша?
Здесь объясняется, как очистить. exe можно использовать для очистки файлов кэша на вторичном диске, но ничего о первичном. Или мне следует вручную запустить эту утилиту, если кэш-диск не заполняется медленно?
Похоже, я неправильно понял, как эти конфигурации должны работать, и «Интервал очистки кеша» работает вместе с «Верхним порогом использования диска».
Может быть, файлы очищаются каждые 5 минут, но только если достигнут «Верхний порог использования диска»? Кажется, что это действительно так, как также подробно описано в этом сообщении в блоге : я просто настроил «Низкий порог использования диска» как 4 (процент), «Высокий порог использования диска» как 5 и да, Вскоре было удалено множество файлов.