Persistent HTTP connections && Pipelining

Gena Makhomed makhomed at pbank.lutsk.ua
Wed Nov 14 02:16:31 MSK 2007


Здравствуйте, Andrew!

Wednesday, November 14, 2007, 0:40:16, you wrote:

AS>>> задача nginx как можно быстрее освободить процесс backend
AS>>> для следующих запросов, keepalive совсем этому не способствует.
GM>> с точностью до наоборот.
AS> для Hello world - да вы правы.

AS> overhead на само соединение обычно ничтожно
AS> мал по сравнению со ресурсами который потребляет
AS> процесс на backend во время обслуживания запроса.

HTTP - это stateless протокол, поэтому по одному
Persistent HTTP connections между nginx и backend
можно обрабатывать запросы от различных клиентов.

вся информация необходимая для идентификации клиента
приходит в HTTP-заголовках запроса от nginx к backend`у.

AS> обычно кол-во рабочих процесов на backend
AS> ограничено, и чем меньше их тем лучше.

StartServers        20
MinSpareServers     20
MaxSpareServers     20
ServerLimit         20
MaxClients          20
MaxRequestsPerChild 4000

AS> для того и используют всякие проксирующие сервера по типу nginx.
AS> забрали как можно быстро ответ, и медленно и печально
AS> на той скорости на который клиент может забирать
AS> отдаем ему ответ, а в это время наш backend
AS> еще пару ответов сгенерит.

я ведь об этом и говорю. если использовать Persistent HTTP connections && Pipelining
то backend сможет быстрее обрабатывать запросы, nginx сможет их быстрее еще забирать.

потому что при использовании Persistent HTTP connections
не будет overhead`а на установление и закрытые tcp connections,
и можно будет получить дополнительный performance boost
из-за Requests Pipelining.

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







More information about the nginx-ru mailing list