ПРОЕКТЫ 


  АРХИВ 


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]

Re: Зависание скачиван ия. Сервер не закрывает соединение по таймаут у.



On Thu, Sep 27, 2007 at 11:25:47AM +0700, Pavel V. wrote:

> На сервере, раздающем mp3, периодически возникает "зависание" tcp-соединения, 
> но Nginx со своей
> стороны по таймауту соединение не закрывает. Это происходит как при
> прослушивании mp3 плеером, так и при скачивании файла с сайта.
> Проблему победить никак не можем, подскажите какие-нибудь идеи по её
> локализации.
> 
> Особенно интересен тот факт, что соединение не закрывается по таймауту со 
> стороны сервера.
> 
> Файлы раздаются Nginx-0.5.22.
> Интерфейс сервера 100Mbit, Intel Corporation 82562ET/EZ/GT/GZ - PRO/100 VE 
> (LOM) Ethernet Controller (rev 01)
> ОСь -  fc5, "uname -a": Linux my.server.net 2.6.20-1.2316.fc5 #1 Fri Apr 27 
> 19:49:38 EDT 2007 i686 i686 i386 GNU/Linux
> load average: 2.67, 2.27, 1.97
> На сервере используется шейпер траффика (с целью приоритезации 80 порта).
> Суммарный поток раздачи с сервера 80-98 Mbit.
> 
> 
> Вырезка опций конфига Nginx, который работает на 8080 порту:
> 
> user  apache;
> worker_processes  1;
> worker_priority  -10;
> 
> events {
>     worker_connections  1024;
> }
> 
> sendfile        off;
> output_buffers 8 32k;
> tcp_nodelay        on;
> 
> http {
>     server {
>         listen       my.server.net:8080 default;
>         location / {
>           root   /music;
>         }
>     }
> }
> 
> 
> На сервере сделан tcpdump "зависшего" соединения
> (tcpdump -i eth0 host myhost.client.net and port 8080)
> 
> 10:45:22.008231 IP my.server.net.webcache > myhost.client.net.4746: . 
> 3942720:3944089(1369) ack 1 win 216
> 10:45:22.090822 IP myhost.client.net.4746 > my.server.net.webcache: . ack 
> 3949565 win 21219
> 10:45:22.120086 IP my.server.net.webcache > myhost.client.net.4746: . 
> 3949565:3950934(1369) ack 1 win 216
> 10:45:22.120200 IP my.server.net.webcache > myhost.client.net.4746: . 
> 3950934:3952303(1369) ack 1 win 216
> 10:45:22.251664 IP myhost.client.net.4746 > my.server.net.webcache: . ack 
> 3952303 win 19850
> 10:45:22.278066 IP my.server.net.webcache > myhost.client.net.4746: . 
> 3952303:3953672(1369) ack 1 win 216
> 10:45:22.278186 IP my.server.net.webcache > myhost.client.net.4746: . 
> 3953672:3955041(1369) ack 1 win 216
> 10:45:22.278313 IP my.server.net.webcache > myhost.client.net.4746: P 
> 3955041:3956410(1369) ack 1 win 216
> 10:45:22.369887 IP myhost.client.net.4746 > my.server.net.webcache: . ack 
> 3955041 win 18481
> 10:45:22.419235 IP my.server.net.webcache > myhost.client.net.4746: . 
> 3956410:3957779(1369) ack 1 win 216
> 10:45:22.419376 IP my.server.net.webcache > myhost.client.net.4746: . 
> 3957779:3959148(1369) ack 1 win 216
> 10:45:22.465764 IP myhost.client.net.4746 > my.server.net.webcache: . ack 
> 3957779 win 17112
> 10:45:22.508777 IP my.server.net.webcache > myhost.client.net.4746: . 
> 3959148:3960517(1369) ack 1 win 216
> 10:45:22.508903 IP my.server.net.webcache > myhost.client.net.4746: . 
> 3960517:3961886(1369) ack 1 win 216
> 10:45:22.543574 IP myhost.client.net.4746 > my.server.net.webcache: . ack 
> 3959148 win 16428 <nop,nop,sack 1 {3960517:3961886}>
> 10:45:22.621058 IP my.server.net.webcache > myhost.client.net.4746: . 
> 3961886:3963255(1369) ack 1 win 216
> 10:45:22.621181 IP my.server.net.webcache > myhost.client.net.4746: P 
> 3963255:3964624(1369) ack 1 win 216
> 10:45:22.651559 IP myhost.client.net.4746 > my.server.net.webcache: . ack 
> 3959148 win 16428 <nop,nop,sack 1 {3960517:3963255}>
> 10:45:22.652822 IP myhost.client.net.4746 > my.server.net.webcache: . ack 
> 3959148 win 16428 <nop,nop,sack 1 {3960517:3964624}>
> 10:45:22.784246 IP my.server.net.webcache > myhost.client.net.4746: . 
> 3964624:3965993(1369) ack 1 win 216
> 10:45:22.792310 IP my.server.net.webcache > myhost.client.net.4746: . 
> 3959148:3960517(1369) ack 1 win 216
> 10:45:22.823759 IP myhost.client.net.4746 > my.server.net.webcache: . ack 
> 3959148 win 16428 <nop,nop,sack 1 {3960517:3965993}>
> 10:45:22.834240 IP myhost.client.net.4746 > my.server.net.webcache: . ack 
> 3965993 win 13005
> 10:45:22.888502 IP my.server.net.webcache > myhost.client.net.4746: . 
> 3959148:3960517(1369) ack 1 win 216
> 10:45:23.235514 IP my.server.net.webcache > myhost.client.net.4746: . 
> 3959148:3960517(1369) ack 1 win 216
> 10:45:23.268525 IP myhost.client.net.4746 > my.server.net.webcache: . ack 
> 3965993 win 13005
> 10:45:23.683219 IP myhost.client.net.4746 > my.server.net.webcache: . ack 
> 3965993 win 32856
> 
> 10:45:24.076428 IP my.server.net.webcache > myhost.client.net.4746: . 
> 3959148:3960517(1369) ack 1 win 216
> 10:45:24.116354 IP myhost.client.net.4746 > my.server.net.webcache: . ack 
> 3965993 win 32856
> 10:45:25.672072 IP my.server.net.webcache > myhost.client.net.4746: . 
> 3959148:3960517(1369) ack 1 win 216
> 10:45:25.715944 IP myhost.client.net.4746 > my.server.net.webcache: . ack 
> 3965993 win 32856
> 10:45:28.905941 IP my.server.net.webcache > myhost.client.net.4746: . 
> 3959148:3960517(1369) ack 1 win 216
> 10:45:28.942839 IP myhost.client.net.4746 > my.server.net.webcache: . ack 
> 3965993 win 32856
> 10:45:35.341822 IP my.server.net.webcache > myhost.client.net.4746: . 
> 3959148:3960517(1369) ack 1 win 216
> 10:45:35.373806 IP myhost.client.net.4746 > my.server.net.webcache: . ack 
> 3965993 win 32856
> 10:45:48.231455 IP my.server.net.webcache > myhost.client.net.4746: . 
> 3959148:3960517(1369) ack 1 win 216
> 10:45:48.266088 IP myhost.client.net.4746 > my.server.net.webcache: . ack 
> 3965993 win 32856
> 10:46:13.990243 IP my.server.net.webcache > myhost.client.net.4746: . 
> 3959148:3960517(1369) ack 1 win 216
> 10:46:14.010837 IP myhost.client.net.4746 > my.server.net.webcache: . ack 
> 3965993 win 32856
> 10:47:05.560333 IP my.server.net.webcache > myhost.client.net.4746: . 
> 3959148:3960517(1369) ack 1 win 216
> 10:47:05.580006 IP myhost.client.net.4746 > my.server.net.webcache: . ack 
> 3965993 win 32856
> 
> 10:51:34 - tcpdumping остановлен. Больше ни одного пакета не прошло.
> 
> Написал письмо. Запустил tcpdump снова ;-) Нажал "остановить" в winamp.
> 
> 11:14:06.683103 IP 212.192.123.214.4746 > mp1.tomsk.ru.webcache: F 
> 3881566771:3881566771(0) ack 1518301459 win 32856
> 11:14:06.733436 IP mp1.tomsk.ru.webcache > 212.192.123.214.4746: R 
> 1518301459:1518301459(0) win 0

Если ошибка достаточно часто воспроизводиться, то хотелось бы
получить отладчный лог и tcpdump.


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



 




Copyright © Lexa Software, 1996-2009.