On 12.07.2022 20:12, Илья Шипицин wrote:

и еще примерно 20% - это "предупреждения" о том, что
a client request body is buffered to a temporary file

это же можно выключить через proxy_request_buffering ?

Да, в моем случае - это вполне подходит, спасибо.

    proxy_http_version 1.1;
    proxy_request_buffering off;

Потому что у меня у каждого nginx frontend
есть всего один nginx backend для каждого сайта:
nginx frontend <=> nginx backend <=> php-fpm

Самое главное - не забыть включить директиву proxy_http_version 1.1;
на nginx frontend, иначе будут проблемы из-за использования HTTP/1.0

https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_request_buffering

When HTTP/1.1 chunked transfer encoding is used to send the original
request body, the request body will be buffered regardless of the
directive value unless HTTP/1.1 is enabled for proxying.

Еще - было бы очень хорошо, чтобы nginx умел писать логи на диск
не до тех пор, пока там останется 0 байт свободного места, а хотя
бы оставлял 1 гигабайт для файлов в /var/cache/nginx/client_temp

буферизация на диск имеет кучу побочных эффектов.
можно через Модуль ngx_http_proxy_module (nginx.org)
<https://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_max_temp_file_size>
выключить дисковую часть (оставив буферизацию в памяти)

Директива proxy_max_temp_file_size 0; на nginx frontend у меня прописана
Но она влияет только на буферизацию проксируемых от backend`ов ответов.

Полностью отключить использование диска nginx frontend
для проксирования и запросов и ответов можно
с помощью такого набора директив:

    proxy_http_version 1.1;
    proxy_request_buffering off;
    proxy_max_temp_file_size 0;

Однако это имеет смысл только в том случае, если nginx frontend
проксирует запросы на nginx backend, на котором включена буферизация запросов и ответов на диск. Если в качестве backend`а используется
httpd apache - использование диска для буферизации
наверное лучше будет не выключать.

--
Best regards,
 Gena
_______________________________________________
nginx-ru mailing list -- nginx-ru@nginx.org
To unsubscribe send an email to nginx-ru-le...@nginx.org

Ответить