redis2_send_timeout

Устанавливает таймаут отправки запросов на сервер Redis.

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

Описание

Директива redis2_send_timeout задаёт максимальное время, отведённое NGINX на отправку запроса на сервер Redis до срабатывания таймаута. Этот таймаут важен для того, чтобы медленные соединения или неотвечающие серверы Redis не блокировали обработку запросов в NGINX. Если указанный интервал времени истечёт, а запрос не будет успешно отправлен, NGINX завершит соединение и вернёт ошибку клиенту.

Эту директиву можно настраивать в контекстах http, server и location, что позволяет детально контролировать поведение соединений с отдельными бэкендами Redis или в рамках всей конфигурации NGINX. Продолжительность таймаута указывается в миллисекундах, что делает его точным и подходящим для высокопроизводительных сред, где сетевые задержки могут существенно варьироваться. Если директива не задана, для запросов может использоваться таймаут по умолчанию, который может не соответствовать требованиям конкретного приложения.

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

location /redis {
    redis2_pass 127.0.0.1:6379;
    redis2_send_timeout 200ms;
}

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

Директива применяется только к запросам, отправляемым в Redis; настройте её продуманно с учётом требований к производительности вашего приложения.

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