Persistent HTTP connections && Pipelining

Konstantin Svist fry.kun at gmail.com
Wed Nov 14 02:52:02 MSK 2007


Anton Yuzhaninov wrote:
>>
>> Pipelining - это способ еще больше ускорить обработку
>> запросов, потому что клиент может отправить несколько
>> запросов "пачкой" не дожидаясь завершения обработки
>> предыдущего запроса перед отправкой следующего,
>> тогда backend вообще не будет простаивать
>> в ожидании нового запроса от frontend`а
>> после обработки предыдущего.
>>
>
> Как это выглядит с точки зрения фронтенда:
>
> сейчас как только получен запрос от клиента, посылается запрос на бэкенд
>
> если делать pipelining то фронтенд должен будет подождать еще один 
> запрос (немного увелилчивая response time для первого), потом послать 
> оба зпроса разом.

Ничего подобного. Насколько я понимаю:
* pipelining только имеет смысл когда используется keep-alive.
* Без keep-alive: каждый запрос приходит в отдельном соединении 
(параллельно).
* С keep-alive, без pipelining: новый запрос приходит только когда 
предыдущий запрос вернулся (поочерёдно).
* С keep-alive, с pipelining: новый запрос может быть послан по 
уже-существующему соединению. Побочный эффект: несколько запросов можно 
послать в одном пакете - но не обязательно.

Или может я что-то не так понял..?







More information about the nginx-ru mailing list