Persistent HTTP connections && Pipelining

Kostya Alexandrov koticka at mail.ru
Wed Nov 14 01:18:53 MSK 2007


Респект. Это как раз то что очень хочется получить.

Gena Makhomed wrote:
> Здравствуйте, Andrew!
>
> Tuesday, November 13, 2007, 22:29:33, you wrote:
>
> AS> задача nginx как можно быстрее освободить процесс backend
> AS> для следующих запросов, keepalive совсем этому не способствует.
>
> с точностью до наоборот.
>
> Persistent HTTP connections как раз и способствуют
> более быстрой обработке backend`ом запросов, потому
> что не нужно будет для обработки следующего запроса
> каждый раз заново устанавливать tcp-соединение.
> убирается лишний overhead, экономятся ресурсы.
>
> Pipelining - это способ еще больше ускорить обработку
> запросов, потому что клиент может отправить несколько
> запросов "пачкой" не дожидаясь завершения обработки
> предыдущего запроса перед отправкой следующего,
> тогда backend вообще не будет простаивать
> в ожидании нового запроса от frontend`а
> после обработки предыдущего.
>
> в результате - [значительно] ускоряется
> обработка HTTP запросов вебсервером.
>
> более подробная информация: RFC2616
> 8.1 Persistent Connections
> 8.1.2.2 Pipelining
>
> HTTP/1.1 расчитан на работу в режиме persistent connections
> не только между client <=> frontend, но и frontend <=> backend.
>
> 8.1.4 Practical Considerations
> ....
>    Clients that use persistent connections SHOULD limit the number of
>    simultaneous connections that they maintain to a given server. A
>    single-user client SHOULD NOT maintain more than 2 connections with
>    any server or proxy. A proxy SHOULD use up to 2*N connections to
>    another server or proxy, where N is the number of simultaneously
>    active users. These guidelines are intended to improve HTTP response
>    times and avoid congestion.
> ....
>
> насколько я понимаю, использование "Persistent HTTP connections && Pipelining"
> между frontend`ом и backend`ом даст [значительное] ускорение работы вебсервера
> не только в том случае когда есть всего один backend, но и когда их несколько.
>
>   





More information about the nginx-ru mailing list