fastcgi_cache_lock_age

Директива `fastcgi_cache_lock_age` задаёт время ожидания доступности блокировки кэша `FastCGI` перед повторной попыткой запроса.

Синтаксисfastcgi_cache_lock_age number;
По умолчаниюnone
Контекстhttp, server, location
Аргументы1

Описание

Директива fastcgi_cache_lock_age в HTTP-модуле NGINX задаёт максимальное время в секундах, которое запрос должен ожидать доступности блокировки кэша FastCGI, если кэш уже заблокирован другим запросом. Когда поступает несколько запросов к одному ресурсу и кэш заблокирован из-за обработки того же содержимого другим запросом, эта директива предотвращает бесконечное ожидание запросов. Вместо этого заданный период ожидания (устанавливаемый этой директивой) позволяет повторить запросы после определённого времени. Это помогает оптимизировать время ответа для пользователей и улучшает общую производительность сервера, избегая чрезмерных задержек в ожидании.

Параметр для fastcgi_cache_lock_age задаётся в секундах и принимает целочисленное значение. Например, если эта директива установлена в 10, любой запрос, столкнувшийся с блокировкой кэша, будет ждать максимум 10 секунд, прежде чем отказаться от получения блокировки и отправить новый запрос. Слишком большие значения могут привести к задержкам в ответах пользователям, тогда как слишком маленькие — к ненужным промахам кэша. Администраторам следует подбирать значение параметра fastcgi_cache_lock_age, исходя из ожидаемых шаблонов доступа к кэшу для их приложений и допустимой задержки для конечных пользователей.

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

location /app {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_cache my_cache;
    fastcgi_cache_lock on;
    fastcgi_cache_lock_age 10;
}

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

Если fastcgi_cache_lock не включён, fastcgi_cache_lock_age не будет иметь эффекта.

← Ко всем директивам