uwsgi_buffering
Директива `uwsgi_buffering` управляет тем, буферизует ли NGINX ответы от приложений uWSGI. — NGINX HTTP Core
Описание
Директива `uwsgi_buffering` используется в NGINX для определения того, как обрабатываются ответы от upstream‑сервера uWSGI. Когда установлено значение 'on', NGINX буферизует весь ответ от приложения uWSGI перед его отправкой клиенту. Это может быть полезно для оптимизации доставки контента, позволяя NGINX обрабатывать ответы внутри себя, тем самым уменьшая количество TCP‑пакетов, отправляемых клиенту, и повышая эффективность управления подключениями. Напротив, когда установлено значение 'off', NGINX будет передавать ответ клиенту по мере его получения от приложения uWSGI. Эта настройка может быть полезна для приложений, которые генерируют вывод по частям, или когда требуется отклик в реальном времени, например в случае длительного опроса или событий, отправляемых сервером. Директива гибкая: её можно использовать в контекстах `http`, `server` или `location`. Её значение — флаг, принимающий 'on' или 'off'. По умолчанию, если явно не задано, буферизация включена для ответов uWSGI. Важно тщательно выбирать между буферизацией и её отключением на основе характеристик производительности и требований приложения, чтобы избежать возможного негативного влияния на время отклика или использование ресурсов.
Пример конфига
location /myapp {
uwsgi_pass myapp;
uwsgi_buffering off;
}Учтите, что установка buffering в 'off' может привести к увеличению использования ресурсов из-за большего числа открытых соединений, поддерживаемых NGINX.
Когда buffering отключён, NGINX может не суметь эффективно сжимать ответы, поскольку он отправляет данные по мере их получения.
Потоковая передача большого ответа может привести к задержке отображения у клиента, если приложение отвечает медленно.