ПРОЕКТЫ 


  АРХИВ 


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: Постоянные обрывы коннект ов



Куски конфига:

limit_req_zone $binary_remote_addr  zone=avi:10m   rate=2r/m;
...
    output_buffers   32 1m;
    postpone_output  1460;
    sendfile       on;
    sendfile_max_chunk 64k;
    tcp_nopush     on;
    tcp_nodelay    on;

server {
        listen       80 default sndbuf=64k;
...
limit_req   zone=avi  burst=2 nodelay;
...

Сделал для верности restart, сразу после рестарта проблема присутствует:



212.106.46.62 - - [02/Apr/2009:21:42:40 +0400] GET /filmiki/skazka.stranstvij.avi HTTP/1.0 ZZ 206 62175
77.221.200.186 - - [02/Apr/2009:21:42:41 +0400] GET /multiki/staflik.a.spagetka.1969-1971.avi HTTP/1.1 ZZ 206 320653
195.20.197.72 - - [02/Apr/2009:21:42:42 +0400] GET /filmiki/ballada.o.doblestnom.rycare.ajvengo.avi HTTP/1.0 ZZ 206 393872
212.34.99.112 - - [02/Apr/2009:21:42:45 +0400] GET /film/ljudi.i.manekeny.1.aviHTTP/1.0 ZZ 206 328268
80.93.116.237 - - [02/Apr/2009:21:42:45 +0400] GET /filmiki/v.davydov.i.goliaf.avi HTTP/1.0 XX 206 178294
95.79.221.176 - - [02/Apr/2009:21:42:46 +0400] GET /multiki/38.kak.lechit.udava.avi HTTP/1.0 XX 200 98304
94.41.40.73 - - [02/Apr/2009:21:42:47 +0400] GET /filmiki/robinzon.kruzo.avi HTTP/1.0 ZZ 206 63330
212.13.4.250 - - [02/Apr/2009:21:42:47 +0400] GET /multiki/new.year.mpg HTTP/1.1 ZZ 200 65536
94.51.1.53 - - [02/Apr/2009:21:42:48 +0400] GET /film/artistka.iz.gribova.2.aviHTTP/1.1 ZZ 206 229207
88.204.242.26 - - [02/Apr/2009:21:42:48 +0400] GET /multiki/gerakl.u.admeta.aviHTTP/1.1 ZZ 206 298835

Но субъективно куски стали побольше в среднем. Явно исчезло засилье 64к. Это приятно, воздействие на конфиг - влияет на ситуацию.


Антон.


2009/4/2 Maxim Dounin <mdounin@xxxxxxxxxx>
Hello!

On Thu, Apr 02, 2009 at 03:43:26PM +0200, Anton Kuznetsov wrote:

> Давайте сказок сочинять не будем. Все качалки сошли с ума? Ну за свой wget я
> ручаюсь. :) Его ответ я привел. Проблема существует и без limit_req.

Давайте не будем.  Проблема с limit_req - существует,
воспроизводится в лабораторных условиях и подтверждена тестами.
Если вы сможете воспроизвести проблему без limit_req (или с
limit_req .. nodelay) - debug log и конфиги в студию, будем
разбираться.

Maxim Dounin

>
> Антон.
>
> 2009/4/2 Maxim Dounin <mdounin@xxxxxxxxxx>
>
> > Hello!
> >
> > On Thu, Apr 02, 2009 at 01:52:14PM +0200, Anton Kuznetsov wrote:
> >
> > > Устал уже повторять фундамент. :)
> > > Раздаю большие файлы, на больших скоростях. FreeBSD & nginx
> > > имею такую постоянную болезнь по логам - обрывы связи с кусками примерно
> > по
> > > 64к:
> > >
> > > 81.27.246.58 - - [02/Apr/2009:15:25:52 +0400] GET
> > > /film/sluzhebnyj.roman.1.avi HTTP/1.0 ZZ 200 88334336
> > > 92.124.3.154 - - [02/Apr/2009:15:25:54 +0400] GET
> > > /film/moskva.slezam.ne.verit.avi HTTP/1.0 ZZ 206 63489
> > > 92.124.3.154 - - [02/Apr/2009:15:25:56 +0400] GET
> > > /film/moskva.slezam.ne.verit.avi HTTP/1.0 ZZ 206 63779
> > > 77.51.24.79 - - [02/Apr/2009:15:25:58 +0400] GET
> > > /multiki/zolotoj.kluchik.avi HTTP/1.0 ZZ 206 63706
> > > 77.52.122.248 - - [02/Apr/2009:15:26:02 +0400] GET
> > > /multiki/bolek.i.lolek.zlote.miasto.inkow.avi HTTP/1.1 XX 206 64999
> > > 194.154.66.131 - - [02/Apr/2009:15:26:04 +0400] GET
> > > /filmiki/prikljuchenija.elektronika.1.avi HTTP/1.1 ZZ 206 2321244
> > > 87.247.1.93 - - [02/Apr/2009:15:26:14 +0400] GET
> > > /filmiki/prikljuchenija.elektronika.2.avi HTTP/1.1 ZZ 206 62239
> > > 217.117.76.55 - - [02/Apr/2009:15:26:14 +0400] GET
> > > /film/sledstvie.vedut.znatoki.21.2.avi HTTP/1.1 XX 206 60590
> >
> > Большинство приведённых строк - 206, т.е. ответ на запрос
> > диапазона файла.  Чтобы понятно был там реально обрыв или это
> > качалка так попросила - надо логгировать $http_range.
> >
> > > Хочу чтобы все строчки в логе были как первая - человек взял и скачал
> > фильм
> > > - ответ 200, размер - почти гиг и все счастливы. Не знаю как оценить
> > > количество тех кому удается скачать за раз - их записи в логе тонут в
> > > обрывках по 64к. Я уже установил req_limit как временное решение, до
> > этого
> > > лог был похож на ужас летящий на крыльях ночи - десятки адресов на
> > хорошей
> > > скорости выкачивают по 64к в секунду или даже по несколько, т.е. канал им
> > > позволяет качать хорошо. Бывают куски и побольше, 120к, вот в примере у
> > кого
> > > 2м, но чаще всего 64к. Это происходит постоянно. Даже когда нагрузка на
> > > винчестеры, скорость и общее количество коннектов - в разы меньше от
> > > пиковой.
> > > В чем проблема? Может буфера в системе/nginx подкрутить надо?
> > > По-моему когда-то давно такое было и на апаче. :(
> > >
> > > Добавлю еще один факт. Недавно удалось побыть таким неудачником у себя
> > дома.
> > > Взял из лога урл имени 64к - даю wget-у - бац, обрыв! еще раз, еще...
> > > 03:42:52 (16.27 KB/s) - Read error at byte 33329/1465085952 (No such file
> > or
> > > directory). Retrying.
> > > В жизни такого не было. Беру другой урл - качает! Снова пробую первый -
> > > обрывы! 100% диагностика. На следующий день попробовал - все хорошо.
> >
> > Если используется limit_req - надо либо накатить патч (пробегал
> > тут давеча), либо использовать limit_req ... nodelay.
> >
> > Maxim Dounin
> >
> >
>
>
> --
> Best regards,
> Anton Kuznetsov.




--
Best regards,
Anton Kuznetsov.      


 




Copyright © Lexa Software, 1996-2009.