On Wednesday 25 May 2016 19:01:36 Evgeniy Berdnikov wrote: > On Wed, May 25, 2016 at 07:19:04AM -0400, S.A.N wrote: > > Вы правы, я наконец то понял, браузеры отправляют в одном соединении запросы > > последовательно, всегда дожидаясь ответа на предыдущий, т.е. очередь > > запросов в соединении нет, по этому сделать какое-то мультиплексирования не > > выйдет, потому что сервер не сможет прочитать из сокета новые запросы пока > > не ответит на предыдущий запрос. > > Напишу ещё раз: браузеры могут посылать пачки запросов по http/1.1, > это называется pipelining, но ответы в http/1.1 должны идти строго > в том же порядке, что и запросы. >
По факту ни один популярный браузер pipelining не использует, если только специально глубоко в настройках это не включить. Могут но не делают. > > > и HTTP/2 тут только лишний оверхэд создает. Подозреваю, что уже для > > > 1000 запросов оверхэд может стать весьма заметным. > > > > В спеке протокола FastCGI есть мультиплексирование, правда его ещё никто не > > реализовал, но если HTTP/2 дает большой оверхед, возможно FastCGI будет > > лучше, для мультиплексирования запросов Nginx к бекендам? > > Конечно, мультиплексирование в FastCGI будет легче чем в HTTP/2. > > Но само по себе мультиплексирование не является самоцелью, оно может > быть уместно в каких-то вычурных ситуациях (вроде исчерпания сокетов), > которые на самом деле разруливаются другими методами. Нужно понимать, > что мультиплексирование связано с дополнительным оверхедом (на буферы, > разбор потока и т.п.), который при отсутствии мультиплексирования > переносится на уровень ядра ОС. А ядро обычно решает свои проблемы > очень эффективно, и было бы наивно надеяться на то, что управление > потоком в прикладной программе будет лучше, чем в сетевом стэке. > Всё так. -- Валентин Бартенев _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru