scgi_connect_timeout
Директива `scgi_connect_timeout` задаёт максимальное время для установления соединения с сервером SCGI в NGINX. — NGINX HTTP Core
Описание
Директива `scgi_connect_timeout` задаёт время ожидания при установлении соединения с сервером SCGI. Это критически важная настройка, определяющая, как долго NGINX будет ожидать установления соединения, прежде чем считать попытку неудачной. Если указанный таймаут истечёт без установления соединения, NGINX вернёт клиенту ошибку. Время задаётся в секундах и может быть указано как числом или в более удобочитаемом формате с единицами времени (например, '1s', '100ms'). Эта директива применяется в нескольких контекстах, включая блоки `http`, `server` и `location`. Правильный выбор значения `scgi_connect_timeout` важен для обеспечения отзывчивости вашего приложения. Слишком низкое значение может привести к частым таймаутам соединений в периоды высокой нагрузки или при перегрузке SCGI-сервера. Напротив, слишком большое значение может увеличить задержки, особенно если SCGI-сервер недоступен или не отвечает. Администраторам следует отслеживать производительность сервера и показатели успешности соединений, чтобы определить оптимальные значения таймаута. Корректировки можно вносить с учётом характеристик используемого SCGI-приложения и сетевых условий.
Пример конфига
http {
server {
location / {
scgi_pass 127.0.0.1:9000;
scgi_connect_timeout 5s;
}
}
}Установка слишком малого таймаута может привести к ненужным ошибкам в периоды высокого трафика или при большой нагрузке на сервер.
Больший таймаут может привести к медленным ответам для клиентов, если сервер SCGI не отвечает или медленно устанавливает соединение.