Маршрутизация запросов приложений без очистки файлов кэша

Я настроил 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 удалять устаревшие файлы кэша?

Здесь объясняется, как scavenge.exe может использоваться для очистки файлов кэша на дополнительном диске, но ничего не о первичном. Или я должен вручную запустить эту утилиту, если у меня нет одного кеша для медленного заполнения?

1 ответ

Решение

Кажется, я неправильно понял, как должны работать эти конфиги, и "интервал очистки кэша" работает вместе с "высоким порогом использования диска".

Так, может быть, файлы очищаются каждые 5 минут, но только при достижении "верхнего порога использования диска"? Похоже, что это действительно так, как подробно описано в этом посте: я только что настроил "Низкий порог использования диска" как 4 (проценты), "Высокий порог использования диска" как 5 и да, многие файлы были вскоре удалены,

Другие вопросы по тегам