Куски конфига:<br><br>limit_req_zone $binary_remote_addr zone=avi:10m rate=2r/m;<br>...<br> output_buffers 32 1m;<br> postpone_output 1460;<br> sendfile on;<br> sendfile_max_chunk 64k;<br> tcp_nopush on;<br>
tcp_nodelay on;<br><br>server {<br> listen 80 default sndbuf=64k;<br>...<br>limit_req zone=avi burst=2 nodelay;<br>...<br><br>Сделал для верности restart, сразу после рестарта проблема присутствует:<br>
<br><br><br>212.106.46.62 - - [02/Apr/2009:21:42:40 +0400] GET /filmiki/skazka.stranstvij.avi HTTP/1.0 ZZ 206 62175<br>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<br>
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<br>212.34.99.112 - - [02/Apr/2009:21:42:45 +0400] GET /film/ljudi.i.manekeny.1.aviHTTP/1.0 ZZ 206 328268<br>
80.93.116.237 - - [02/Apr/2009:21:42:45 +0400] GET /filmiki/v.davydov.i.goliaf.avi HTTP/1.0 XX 206 178294<br>95.79.221.176 - - [02/Apr/2009:21:42:46 +0400] GET /multiki/38.kak.lechit.udava.avi HTTP/1.0 XX 200 98304<br>94.41.40.73 - - [02/Apr/2009:21:42:47 +0400] GET /filmiki/robinzon.kruzo.avi HTTP/1.0 ZZ 206 63330<br>
212.13.4.250 - - [02/Apr/2009:21:42:47 +0400] GET /multiki/new.year.mpg HTTP/1.1 ZZ 200 65536<br>94.51.1.53 - - [02/Apr/2009:21:42:48 +0400] GET /film/artistka.iz.gribova.2.aviHTTP/1.1 ZZ 206 229207<br>88.204.242.26 - - [02/Apr/2009:21:42:48 +0400] GET /multiki/gerakl.u.admeta.aviHTTP/1.1 ZZ 206 298835<br>
<br>Но субъективно куски стали побольше в среднем. Явно исчезло засилье 64к. Это приятно, воздействие на конфиг - влияет на ситуацию.<br><br><br>Антон.<br><br><br><div class="gmail_quote">2009/4/2 Maxim Dounin <span dir="ltr"><<a href="mailto:mdounin@mdounin.ru">mdounin@mdounin.ru</a>></span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hello!<br>
<div class="im"><br>
On Thu, Apr 02, 2009 at 03:43:26PM +0200, Anton Kuznetsov wrote:<br>
<br>
> Давайте сказок сочинять не будем. Все качалки сошли с ума? Ну за свой wget я<br>
> ручаюсь. :) Его ответ я привел. Проблема существует и без limit_req.<br>
<br>
</div>Давайте не будем. Проблема с limit_req - существует,<br>
воспроизводится в лабораторных условиях и подтверждена тестами.<br>
Если вы сможете воспроизвести проблему без limit_req (или с<br>
limit_req .. nodelay) - debug log и конфиги в студию, будем<br>
разбираться.<br>
<font color="#888888"><br>
Maxim Dounin<br>
</font><div><div></div><div class="h5"><br>
><br>
> Антон.<br>
><br>
> 2009/4/2 Maxim Dounin <<a href="mailto:mdounin@mdounin.ru">mdounin@mdounin.ru</a>><br>
><br>
> > Hello!<br>
> ><br>
> > On Thu, Apr 02, 2009 at 01:52:14PM +0200, Anton Kuznetsov wrote:<br>
> ><br>
> > > Устал уже повторять фундамент. :)<br>
> > > Раздаю большие файлы, на больших скоростях. FreeBSD & nginx<br>
> > > имею такую постоянную болезнь по логам - обрывы связи с кусками примерно<br>
> > по<br>
> > > 64к:<br>
> > ><br>
> > > 81.27.246.58 - - [02/Apr/2009:15:25:52 +0400] GET<br>
> > > /film/sluzhebnyj.roman.1.avi HTTP/1.0 ZZ 200 88334336<br>
> > > 92.124.3.154 - - [02/Apr/2009:15:25:54 +0400] GET<br>
> > > /film/moskva.slezam.ne.verit.avi HTTP/1.0 ZZ 206 63489<br>
> > > 92.124.3.154 - - [02/Apr/2009:15:25:56 +0400] GET<br>
> > > /film/moskva.slezam.ne.verit.avi HTTP/1.0 ZZ 206 63779<br>
> > > 77.51.24.79 - - [02/Apr/2009:15:25:58 +0400] GET<br>
> > > /multiki/zolotoj.kluchik.avi HTTP/1.0 ZZ 206 63706<br>
> > > 77.52.122.248 - - [02/Apr/2009:15:26:02 +0400] GET<br>
> > > /multiki/bolek.i.lolek.zlote.miasto.inkow.avi HTTP/1.1 XX 206 64999<br>
> > > 194.154.66.131 - - [02/Apr/2009:15:26:04 +0400] GET<br>
> > > /filmiki/prikljuchenija.elektronika.1.avi HTTP/1.1 ZZ 206 2321244<br>
> > > 87.247.1.93 - - [02/Apr/2009:15:26:14 +0400] GET<br>
> > > /filmiki/prikljuchenija.elektronika.2.avi HTTP/1.1 ZZ 206 62239<br>
> > > 217.117.76.55 - - [02/Apr/2009:15:26:14 +0400] GET<br>
> > > /film/sledstvie.vedut.znatoki.21.2.avi HTTP/1.1 XX 206 60590<br>
> ><br>
> > Большинство приведённых строк - 206, т.е. ответ на запрос<br>
> > диапазона файла. Чтобы понятно был там реально обрыв или это<br>
> > качалка так попросила - надо логгировать $http_range.<br>
> ><br>
> > > Хочу чтобы все строчки в логе были как первая - человек взял и скачал<br>
> > фильм<br>
> > > - ответ 200, размер - почти гиг и все счастливы. Не знаю как оценить<br>
> > > количество тех кому удается скачать за раз - их записи в логе тонут в<br>
> > > обрывках по 64к. Я уже установил req_limit как временное решение, до<br>
> > этого<br>
> > > лог был похож на ужас летящий на крыльях ночи - десятки адресов на<br>
> > хорошей<br>
> > > скорости выкачивают по 64к в секунду или даже по несколько, т.е. канал им<br>
> > > позволяет качать хорошо. Бывают куски и побольше, 120к, вот в примере у<br>
> > кого<br>
> > > 2м, но чаще всего 64к. Это происходит постоянно. Даже когда нагрузка на<br>
> > > винчестеры, скорость и общее количество коннектов - в разы меньше от<br>
> > > пиковой.<br>
> > > В чем проблема? Может буфера в системе/nginx подкрутить надо?<br>
> > > По-моему когда-то давно такое было и на апаче. :(<br>
> > ><br>
> > > Добавлю еще один факт. Недавно удалось побыть таким неудачником у себя<br>
> > дома.<br>
> > > Взял из лога урл имени 64к - даю wget-у - бац, обрыв! еще раз, еще...<br>
> > > 03:42:52 (16.27 KB/s) - Read error at byte 33329/1465085952 (No such file<br>
> > or<br>
> > > directory). Retrying.<br>
> > > В жизни такого не было. Беру другой урл - качает! Снова пробую первый -<br>
> > > обрывы! 100% диагностика. На следующий день попробовал - все хорошо.<br>
> ><br>
> > Если используется limit_req - надо либо накатить патч (пробегал<br>
> > тут давеча), либо использовать limit_req ... nodelay.<br>
> ><br>
> > Maxim Dounin<br>
> ><br>
> ><br>
><br>
><br>
> --<br>
> Best regards,<br>
> Anton Kuznetsov.<br>
<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Best regards,<br>Anton Kuznetsov. <br>