On Wed, Jul 13, 2022, 2:01 AM Gena Makhomed <g...@csdoc.com> wrote: > On 12.07.2022 22:27, Илья Шипицин wrote: > > >> Директива 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; > > > не совсем верно. если не трогать proxy_buffering, то ответы буферизуются > (в > > памяти, но не на диске) > > proxy_buffering почти всегда лучше оставлять включенным, потому что > nginx работает более эффективно, если буферизация в памяти включена > подробности здесь: https://marc.info/?l=nginx&m=131739590508332&w=2 > > >> Однако это имеет смысл только в том случае, если nginx frontend > >> проксирует запросы на nginx backend, на котором включена буферизация > > > если у бекенда форк-модель, и дорогое подключение, которое желательно > > максимально быстро освободить, даже ценой буферизации на диск, то да. > > > для многих современных бекендов, включач php-fpm, поддержание 10к > > одновременных подключений не является проблемой, кажется, что буферизация > > на диск скорее избыточна, и по факту не решает никаких проблем, но может > их > > создать > > У бэкенда php-fpm ведь форк-модель, и количество воркеров ограничено. >
Мне почему-то помнится, что количество запущенных php-fpm процессов была константа и они не росли от нагрузки. Но, возможно fork модель, при случае проверю То есть, другими словами, php-fpm - это то же самое что и httpd apache, > только используется fastcgi протокол вместо http для подключения, > вот и вся существенная разница между ними. Подробнее об этом написано > в файле /etc/php-fpm.d/www.conf в описании директивы pm.max_children > > Для php-fpm, поддержание 10к одновременных подключений является > огромной проблемой - если каждый воркер использует, например, > 128 мегабайт оперативной памяти, то для 10_000 одновременных > подключений необходимо будет на сервере примерно 1.2 терабайта > оперативной памяти выделить только для одного лишь php-fpm. > > Если клиент будет медленно-медленно забирать ответ от веб-сервера, > при выключенной буферизации на диск воркер php-fpm будет оставаться > занятым и таким образом сервер будет легко уязвим к простой DoS-атаке. > https://en.wikipedia.org/wiki/Denial-of-service_attack#Slow_Read_attack > > -- > Best regards, > Gena > _______________________________________________ > nginx-ru mailing list -- nginx-ru@nginx.org > To unsubscribe send an email to nginx-ru-le...@nginx.org >
_______________________________________________ nginx-ru mailing list -- nginx-ru@nginx.org To unsubscribe send an email to nginx-ru-le...@nginx.org