<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">ср, 13 июл. 2022 г. в 00:16, Gena Makhomed <<a href="mailto:gmm@csdoc.com">gmm@csdoc.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 12.07.2022 20:12, Илья Шипицин wrote:<br>
<br>
>> и еще примерно 20% - это "предупреждения" о том, что<br>
>> a client request body is buffered to a temporary file<br>
<br>
> это же можно выключить через proxy_request_buffering ?<br>
<br>
Да, в моем случае - это вполне подходит, спасибо.<br>
<br>
proxy_http_version 1.1;<br>
proxy_request_buffering off;<br>
<br>
Потому что у меня у каждого nginx frontend<br>
есть всего один nginx backend для каждого сайта:<br>
nginx frontend <=> nginx backend <=> php-fpm<br>
<br>
Самое главное - не забыть включить директиву proxy_http_version 1.1;<br>
на nginx frontend, иначе будут проблемы из-за использования HTTP/1.0<br>
<br>
<a href="https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_request_buffering" rel="noreferrer" target="_blank">https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_request_buffering</a><br>
<br>
When HTTP/1.1 chunked transfer encoding is used to send the original<br>
request body, the request body will be buffered regardless of the<br>
directive value unless HTTP/1.1 is enabled for proxying.<br></blockquote><div><br></div><div>HTTP/1.1 обычно включаю, но до этого места в документации про chunked не дочитал ))</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
>> Еще - было бы очень хорошо, чтобы nginx умел писать логи на диск<br>
>> не до тех пор, пока там останется 0 байт свободного места, а хотя<br>
>> бы оставлял 1 гигабайт для файлов в /var/cache/nginx/client_temp<br>
<br>
> буферизация на диск имеет кучу побочных эффектов.<br>
> можно через Модуль ngx_http_proxy_module (<a href="http://nginx.org" rel="noreferrer" target="_blank">nginx.org</a>)<br>
> <<a href="https://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_max_temp_file_size" rel="noreferrer" target="_blank">https://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_max_temp_file_size</a>><br>
> выключить дисковую часть (оставив буферизацию в памяти)<br>
<br>
Директива proxy_max_temp_file_size 0; на nginx frontend у меня прописана<br>
Но она влияет только на буферизацию проксируемых от backend`ов ответов.<br>
<br>
Полностью отключить использование диска nginx frontend<br>
для проксирования и запросов и ответов можно<br>
с помощью такого набора директив:<br>
<br>
proxy_http_version 1.1;<br>
proxy_request_buffering off;<br>
proxy_max_temp_file_size 0;<br></blockquote><div><br></div><div>не совсем верно. если не трогать proxy_buffering, то ответы буферизуются (в памяти, но не на диске)</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Однако это имеет смысл только в том случае, если nginx frontend<br>
проксирует запросы на nginx backend, на котором включена буферизация</blockquote><div><br></div><div>если у бекенда форк-модель, и дорогое подключение, которое желательно максимально быстро освободить, даже ценой буферизации на диск, то да.</div><div>для многих современных бекендов, включач php-fpm, поддержание 10к одновременных подключений не является проблемой, кажется, что буферизация на диск скорее избыточна, и по факту не решает никаких проблем, но может их создать </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> <br>
запросов и ответов на диск. Если в качестве backend`а используется<br>
httpd apache - использование диска для буферизации<br>
наверное лучше будет не выключать.<br></blockquote><div><br></div><div>верно</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
-- <br>
Best regards,<br>
Gena<br>
_______________________________________________<br>
nginx-ru mailing list -- <a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
To unsubscribe send an email to <a href="mailto:nginx-ru-leave@nginx.org" target="_blank">nginx-ru-leave@nginx.org</a><br>
</blockquote></div></div>