Постоянные обрывы коннектов
Maxim Dounin
mdounin at mdounin.ru
Thu Apr 2 18:31:21 MSD 2009
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 at mdounin.ru>
>
> > 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.
More information about the nginx-ru
mailing list