Persistent HTTP connections && Pipelining

Gena Makhomed makhomed at pbank.lutsk.ua
Wed Nov 14 00:43:24 MSK 2007


Здравствуйте, 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, но и когда их несколько.

-- 
Best regards,
 Gena                            mailto:makhomed at pbank.lutsk.ua







More information about the nginx-ru mailing list