scgi_next_upstream_timeout

Директива 'scgi_next_upstream_timeout' задаёт интервал времени ожидания ответа от следующего SCGI-сервера в upstream-группе, если текущий сервер не отвечает. — NGINX HTTP Core

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

Описание

Директива 'scgi_next_upstream_timeout' используется в конфигурации NGINX для указания времени ожидания ответа от следующего SCGI-сервера, если текущий сервер перестал отвечать. Этот таймаут важен в средах, где одновременно работают несколько SCGI-серверов, поскольку он сокращает простой за счёт быстрой переключения NGINX на другой сервер, когда основной не отвечает. Значение, задаваемое этой директивой, критично для поддержания производительности и надёжности веб-приложений, использующих SCGI-бекенды. При поступлении запроса, если основной SCGI-сервер не может обработать его в течение указанного времени, NGINX попытается подключиться к следующему серверу, указанному в upstream-конфигурации. Если подключение успешно и сервер отвечает в пределах таймаута, ответ от следующего сервера будет возвращён клиенту. Настраивая этот таймаут, администраторы могут найти баланс между производительностью и использованием ресурсов. Короткий таймаут может привести к более частым быстрым переключениям на другие серверы, но также может увеличить нагрузку на несколько серверов, если в короткий период произойдёт слишком много переключений. Напротив, более длинный таймаут может сделать приложение медленнее при медленном ответе одного из серверов, что потенциально ухудшит пользовательский опыт. Поэтому рекомендуется отслеживать и настраивать этот параметр в соответствии с потребностями приложения и поведением серверов.

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

scgi_pass 127.0.0.1:9000;
scgi_next_upstream_timeout 30s;

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

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