memcached_read_timeout

Директива `memcached_read_timeout` задаёт таймаут чтения ответа от сервера memcached. — NGINX HTTP Core

memcached_read_timeout
httpserverlocation
Синтаксисmemcached_read_timeout time;
По умолчанию60s (1 minute)
Контекстhttp, server, location
МодульNGINX HTTP Core
Аргументы1

Описание

Директива `memcached_read_timeout` задаёт максимальное время (в секундах), в течение которого NGINX будет ожидать чтения ответа от сервера memcached. Этот таймаут критически важен для того, чтобы ваше приложение не зависало бесконечно в ожидании ответа. Если указанное время ожидания будет превышено, NGINX вернёт ошибку клиенту, что позволит лучше контролировать время отклика и доступность приложения. Директиву можно настроить в контекстах `http`, `server` или `location`, что даёт гибкость в зависимости от требуемой области действия настройки таймаута. Значение директивы должно задаваться в секундах, фактически определяя, как долго сервер будет ждать получения ответа прежде чем отказаться. Правильные настройки помогут предотвратить чрезмерное потребление ресурсов из-за зависших соединений. При настройке этого таймаута важно учитывать ожидаемое время отклика вашего бэкенда memcached. Слишком низкое значение может привести к частым тайм-аутам чтения при нормальной работе, тогда как слишком высокое может ухудшить пользовательский опыт из-за задержек в ответах. Директива позволяет оптимально настраивать производительность в зависимости от конкретных требований приложения.

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

location /cache {
    memcached_pass backend;
    memcached_read_timeout 10s;
}

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

Отсутствие таймаута или его неверная настройка могут вызвать длительные задержки при обработке клиентских запросов.