Re: Постоянные обрывы коннектов

Anton Kuznetsov maybe at arjlover.net
Thu Apr 2 21:48:19 MSD 2009


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

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 at mdounin.ru>

> 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.
>
>


-- 
Best regards,
Anton Kuznetsov.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20090402/2cf56d29/attachment.html>


More information about the nginx-ru mailing list