ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Persistent HTTP connections && Pipelining



Здравствуйте, 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@xxxxxxxxxxxxxx





 




Copyright © Lexa Software, 1996-2009.