Re: nginx VS apache: Количество одновременных TCP соединений

Igor Sysoev is at rambler-co.ru
Tue Aug 22 20:56:14 MSD 2006


On Tue, 22 Aug 2006, Lex Lyamin wrote:

> On 8/22/06, Lex Lyamin <flx at namesys.com> wrote:
>>
>> Hi gents,
>>
>> Столкнулся со следующей ситуацией:
>>
>>
>>
>> Есть некая  html страничка,  достаточно богатая обьектами Content-Type:
>> image/jpeg.
>> Есть два сервера отдающих эту страничку и эти  image/jpeg.
>>
>
> dd
>
> Отсюда вопрос:
>>     - кто и исходя из каких данных принимает решение сколько одновременных
>> tcp cоединений к серверу хочется открывать ?
>>
>
>
> Добрался до  RFC2616.
> Пересмотрел еще раз логи в tcpdump.
> С утверждениями в  синхронности я погорячился... немного.
> корректнее-было бы сказать "в одной сейсии".

То есть, к Апачу запросы идут не в восьми, а в двух соединениях ?

> Вообще  говоря, логично рассуждая, можно предположить что решение принимает
> веб-браузер, наверное принимание во внимание заголовки которыми ответил ему
> веб-сервер в первом запросе....
>
> и с точки зрения RFC2616 связки  nginx/mozilla и nginx/firefox ведут себя
> совершенно вменяемо, т.е. открывая положенных  два персиста на доменное имя,
> НО....
>
> в случае как мой (большое количество графики на страничке) апач в связке с
> теми-же броузерами выигрывает в интерактивности в два раза, что печально.
>
>
> Теперь обратимся к хедерам:
>
> Apache:
> ----------------------------------->
> GET /index.php HTTP/1.1
> Host: namesys.com
> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.6)
> Gecko/20060728 Firefox/1.5.0.6
> Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9
> ,text/plain;q=0.8,image/png,*/*;q=0.5
> Accept-Language: en-us,en;q=0.5
> Accept-Encoding: gzip,deflate
> Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
> Keep-Alive: 300
> Connection: keep-alive
> Pragma: no-cache
> Cache-Control: no-cache
> <---------------------------------
> HTTP/1.1 200 OK
> Date: Tue, 22 Aug 2006 16:31:06 GMT
> Server: Apache
> Expires: Mon, 26 Jul 1997 05:00:00 GMT
> Last-Modified: Tue, 22 Aug 2006 16:31:06 GMT
> Cache-Control: no-store, no-cache, must-revalidate
> Cache-Control: post-check=0, pre-check=0
> Pragma: no-cache
> Keep-Alive: timeout=15, max=5
> Connection: Keep-Alive
> Transfer-Encoding: chunked
> Content-Type: text/html;charset=windows-1251
>
>
> NGINX:
> ------------------------------------->
> GET /register.php HTTP/1.1
> Host: namesys.com
> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.6)
> Gecko/20060728 Firefox/1.5.0.6
> Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9
> ,text/plain;q=0.8,image/png,*/*;q=0.5
> Accept-Language: en-us,en;q=0.5
> Accept-Encoding: gzip,deflate
> Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
> Keep-Alive: 300
> Connection: keep-alive
> Pragma: no-cache
> Cache-Control: no-cache
> <-------------------------------------
> HTTP/1.1 200 OK
> Server: nginx/0.3.54
> Date: Tue, 22 Aug 2006 16:34:01 GMT
> Content-Type: text/html;charset=windows-1251
> Transfer-Encoding: chunked
> Connection: keep-alive
> Expires: Mon, 26 Jul 1997 05:00:00 GMT
> Last-Modified: Tue, 22 Aug 2006 16:34:01 GMT
> Cache-Control: no-store, no-cache, must-revalidate
> Cache-Control: post-check=0, pre-check=0
> Pragma: no-cache
> Keep-Alive: timeout=15, max=5
> Content-Encoding: gzip
>
>
> Keepalive такой для nginx  выставлен был самостоятельно.
> gzip  я пробовал гасить, но ни на что кроме обьема трафика он не влияет.
> криминала никакого в хэдерах , на первый взгляд , нет.

То есть, "Keep-Alive: timeout=15, max=5" добавлен как

add_header  Keep-Alive "timeout=15, max=5"

?

Включен ли "tcp_nodelay  on" ?


Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list