Re[2]: циклический ресет при закачке файлов

Vladimir Fursin fursin at optima.ua
Tue Mar 31 16:14:30 MSD 2009


Tuesday, March 31, 2009, 10:55:47 AM, you wrote:

> Hi!

> У меня раньше такое бывало, я даже сюда в рассылку писал, а потом объем
> логов стал таким большим, что я перестал замечать это дело, а может и
> само прошло?
На это трудно не обращать внимание, т.к. сильно врет статистика по
скачанному контенту, особенно на мелких, например, .mp3 файлах.
Магическая длина 33396 помноженная на десятки тысяч таких записей
дает погрешность в разы, что неприемлемо, если пытаться определять
по логам рейтинг контента - Return code status для этих записей
обычно 200 иногда 206.

С уважением, Владимир.
-- 
mailto:fursin at optima.ua

> Tue, 31 Mar 2009 09:43:16 +0300
> Vladimir Fursin <fursin at optima.ua> писал(а):

>> Здравствуйте!
>> 
>> Для раздачи мультимедийного контента используется следующая
>> конфигурация - nginx в режиме прокси + апач, выполняющий
>> в PHP задачу авторизации. Если авторизация успешна, управление
>> возвращается в nginx, который через internal location отдает файл
>> клиенту.
>>         Просматривая логи nginx обнаружил многократно повторяющиеся
>> записи скачивания с одного и того же URL, одним и тем же клиентским
>> IP, одной и той же длины. Пример :
>> 
>> 2009-03-29T04:49:00+0300 XX.XX.XX.XX - - [29/Mar/2009:04:48:59
>> +0300] "GET /fetch/mp3/hch...Wbg==/kreschenie.mp3 HTTP/1.1" 200 33396
>> "Mozilla/4.0(compatible; MSIE 5.00; Windows 98)"
>> 
>> Такого вида записи в логах повторяются с интервалом 1-2 сек и
>> могут составлять до 30% всех записей лога! С одного и того же
>> клиентского адреса такие повторяющиеся запросы могут идти сутками.
>> Причем это не один клиент, таких много - с разных сетей при доступе
>> на сервера в разных городах, т.е. явление массовое.
>> 
>> Пытался смотреть на то, что происходит, tcpdump'ом - видно, что
>> после клиентского GET-запроса сервер отвечает HTTP-заголовком,
>> начинает передавать содержимое файла и после второго посланного
>> пакета клиент присылает FIN и RST, после чего все повторяется заново.
>> 
>> Кто нибудь сталкивался с подобным? Благодарен за любую подсказку -
>> куда копать?
>> 
>> P.S. nginx 0.6.35, fedora c 5-ой по 8-ую
>> 
>> Конфиг:
>> 
>> worker_processes  8;
>> worker_rlimit_nofile 8192;
>> events {
>>     worker_connections  2048;
>> }
>> http {
>>     include       mime.types;
>>     default_type  application/octet-stream;
>>     access_log logs/access.log combined;
>>     sendfile        on;
>>     keepalive_timeout  65;
>>     server {
>>         listen       80;
>>         server_name  example.com;
>>         rewrite ^/fetch/mp3/(.*)$ /nginx.php?path=$remote_addr-$1 last;
>>         error_page      404  /404.html;
>>         location = /404.html {
>>             root        html;
>>         }
>>         location /home {
>>             root        html;
>>         }
>>         location / {
>>             proxy_pass         http://127.0.0.1:8888;
>>             proxy_redirect     off;
>>             proxy_set_header   Host             $host;
>>             proxy_set_header   X-Real-IP        $remote_addr;
>>             proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
>>             client_max_body_size       10m;
>>             client_body_buffer_size    128k;
>>             proxy_connect_timeout      90;
>>             proxy_send_timeout         90;
>>             proxy_read_timeout         90;
>>             proxy_buffer_size          4k;
>>             proxy_buffers              4 16k;
>>             proxy_busy_buffers_size    32k;
>>             proxy_temp_file_write_size 32k;
>>         }
>>         location /data-5 {
>>             root /;
>>             internal;
>>         }
>>     }
>> }
>> 
>> 
>> С уважением, Владимир.
>> -- 
>> mailto:fursin at optima.ua
>> 







More information about the nginx-ru mailing list