uwsgi_send_timeout
Задает время ожидания для чтения ответа от uWSGI-пира. — NGINX HTTP Core
Описание
Директива `uwsgi_send_timeout` в NGINX задает временной лимит на отправку запроса на uWSGI-сервер. Эта директива особенно полезна для того, чтобы NGINX не ожидал ответа от uWSGI-сервера бесконечно. Если ответ не будет отправлен в пределах указанного времени ожидания, NGINX закроет соединение и вернет клиенту ответ с ошибкой. Директива принимает один аргумент — значение таймаута, которое можно задавать в различных единицах времени, например в секундах или миллисекундах. Очень важно корректно установить это значение, чтобы не ухудшать опыт пользователя, например за счет длительных ожиданий при высокой нагрузке. Эту директиву можно поместить в разные контексты, включая 'http', 'server' или 'location'. По умолчанию, если `uwsgi_send_timeout` явно не задана, таймаут не применяется, то есть NGINX будет ждать бесконечно. Тем не менее явное указание этой директивы позволяет лучше управлять ресурсами и повышать отзывчивость веб‑сервера, особенно при работе с потенциально медленными бэкенд-приложениями uWSGI.
Пример конфига
location /app {
uwsgi_pass 127.0.0.1:9000;
uwsgi_send_timeout 30s;
}Установка слишком малого таймаута может привести к сбросу запросов в периоды пиковой нагрузки, вызывая ошибки у пользователей.
Если у бэкенд-приложения uWSGI время ответа варьируется, для оптимальной производительности может потребоваться тонкая настройка этого параметра.