Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

Валентин Бартенев vbart на nginx.com
Вт Май 24 13:38:48 UTC 2016


On Tuesday 24 May 2016 08:57:46 S.A.N wrote:
> > Nginx никогда не посылает запрос в то же соединение, пока не получит
> > ответ и соединение освободиться.  Т.н. pipelining он не умеет и не
> > использует.
> > 
> > Если бы следующий запрос пришел до того, как на первый был получен
> > ответ, то он бы был отправлен на бекенд в другом соединении.
> > 
> > Т.е. никакой проблемы между nginx и бекендом нет.
> 
> Да, конечно Nginx не пошлет второй и третий запрос на бекенд, пока первый не
> ответит, в этом и проблема, потому что он ждет ответа на первый запрос, я бы
> ещё понял если бы Nginx не ждал ответа на первый запрос и отправил второй и
> третий запрос в другом свободном конекте или открыл новый конект, но Nginx
> эти запросы будет держать в очереди и это очень плохо.
> Могу выслать код теста.
> 

Вышлите.  Текущая версия nginx без сторонних модулей ждать не умеет, и чтобы
научить его ждать в Plus даже специальную очередь программировать пришлось.


> 
> > Проблема в общении браузера и сервера, которую решает
> > мультиплексирование,
> > заключается исключительно в том, что браузер жестко ограничен в
> > количестве TCP
> > соединений.
> 
> > Между nginx и бекендом - такого ограничения нет, следовательно и
> > проблемы тоже.
> 
> В линуксе кол-во открытых fd тоже ограничено.
> 

Равно как и память в системе, которую HTTP/2 будет кушать.

--
Валентин Бартенев


Подробная информация о списке рассылки nginx-ru