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