open_file_cache

Директива `open_file_cache` включает кэширование дескрипторов файлов для улучшения производительности отдачи файлов. — NGINX HTTP Core

open_file_cache
httpserverlocation
Синтаксисopen_file_cache max=number [inactive=time] | none;
По умолчаниюnone
Контекстhttp, server, location
МодульNGINX HTTP Core
Аргументы1-2

Описание

Директива `open_file_cache` в NGINX используется для управления кэшированием дескрипторов файлов, что позволяет NGINX повторно использовать файловые дескрипторы для часто запрашиваемых файлов. Это снижает накладные расходы на открытие и закрытие дескрипторов файлов, тем самым повышая производительность отдачи файлов в сценариях с большим трафиком. Директива может принимать один или два аргумента; первый аргумент задаёт максимальное количество дескрипторов файлов для кэширования, тогда как необязательный второй аргумент определяет период времени (в секундах), в течение которого кэш остаётся действительным перед проверкой изменений файлов. Эта функциональность может быть критически важна для оптимизации доставки статических файлов, так как минимизирует влияние операций ввода/вывода файловой системы.

Пример конфига

http {
    open_file_cache max=1000 inactive=30;
}

Установка `max` слишком высокого значения может привести к чрезмерному использованию памяти сервера, если кэшируется много дескрипторов файлов, что может вызвать снижение производительности.

Если `inactive` задано некорректно, это может привести к использованию устаревших дескрипторов файлов и к выдаче устаревшего содержимого.