ПРОЕКТЫ 


  АРХИВ 


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]

Затыкается отдача статики



Пытаюсь добиться стабильной работы уже третий месяц. :(

На одном и том же сервере работает конверт загружаемого пользователями видео 
контента (совершенно разных форматов) и отдача статики (фотки) а также стриминг 
mp4.
Временный рабочий каталог для конвертации отдельно от массива.
Процессы ffmpeg запускаются с nice -n 10.
В логах ничего полезного по проблеме. А именно внезапно возникает (с 
периодичностью 1-2 часа) снижение производительности массива.
Отдача (трафик) падает в 3 раза.
Отпускает его, только после рестарта nginx'а.  :((

- CentOS release 5.4  
- x86_64
- 2.6.18-92.1.22.el5
- Софтовый RAID5 (Active Devices : 14,  Chunk Size : 256K) на 1ТБ дисках
- XFS


Параметры сборки: 0.7.64
--------------------------------------------------------------------
"./configure" "--prefix=/usr/local/nginx" "--without-http_ssi_module" "--without-http_userid_module" "--without-http_auth_basic_module" "--without-http_empty_gif_module" "--without-http_gzip_module" "--without-http_geo_module" "--without-http_fastcgi_module" "--without-mail_pop3_module" "--without-mail_imap_module" "--without-mail_smtp_module" "--with-http_stub_status_module" "--with-http_realip_module" "--with-http_flv_module" "--with-debug" "--add-module=nginx_mod_h264_streaming-2.2.5" "$@"


Конфиг:
--------------------------------------------------------------------
user  web;
worker_processes  8;

error_log  logs/error.log  info;

events {
    worker_connections  2000;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    
    server_tokens off;

    log_format  main  '$remote_addr - $remote_user [$time_local] '
                      '"$request" $status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent"';
    log_format  short '$request - $http_referer "$http_user_agent"';
 
    sendfile        on;
    keepalive_timeout  30 15;
    autoindex    off;

    server {
        listen       ***********:80;
        server_name  ***********;
        access_log  logs/farm-a-access.log  main;
 
        location / {
            root   /farm;
        }
         location ~ \.php$ {
            deny  all;
        }
    }
    
    server {
        listen       10.0.0.2:80;
        server_name  *************;
        location / {
            root   /farm;
        }
    }
    
    include  /usr/local/nginx/conf/VH/*.conf;
    
}


Конфиг виртуалхоста
--------------------------------------------------------------------
    server {
        listen       *************:80;
        server_name  **********;
        access_log  logs/flv-a.io.ua-access.log  main;
        error_log  logs/flv-a.io.ua-error.log  notice;
        limit_rate 2m;
        
        location ~ \.mp4&.* {                                                   
                    
            root   html/io.ua;
            rewrite   ^(.*)\.mp4&(.*)$  $1.mp4  permanent;
#           access_log  logs/mp4_addon.log  main;            
            mp4;                                                                
                                             
            valid_referers      none blocked i.io.ua *.io.ua io.ua 
video.google.com;
            if ($invalid_referer) {                                             
                                             
                rewrite   ^/   http://i.io.ua/img/leech.mp4 break;
            }
        }

        location ~ \.mp4 {
            root   html/io.ua; 
#           access_log  logs/mp4.log  main;
            mp4;
            valid_referers      none blocked i.io.ua *.io.ua io.ua 
video.google.com *.seeonline.com.ua;
            if ($invalid_referer) {                                             
                                            
                #return   403;                                                  
                                            
                rewrite   ^/   http://i.io.ua/img/leech.mp4 break;              
                                            
           }        
        }                                                                       
                                             
        
        location ~ \.flv {                                                      
                 
            root   html/io.ua;                                                  
                                             
            flv;                                                                
                                             
            valid_referers      none blocked i.io.ua *.io.ua io.ua 
video.google.com *.seeonline.com.ua;
            if ($invalid_referer) {                                             
                                             
                #return   403;                                                  
                                              
                rewrite   ^/   http://i.io.ua/img/leech.mp4 break;
            }
        } 
        location / {                                                            
                                             
            root html/io.ua/root;                                               
                                             
            access_log  logs/flv-a.io.ua_root.log  main;
        } 
    }


Также есть второй похожий виртуалхост только для другого домена и с другими 
лимитами.
Пробовал объединять, чтобы исключить двойное использование "mp4;" - не помогло.

При старте:
--------------------------------------------------------------------
2009/11/27 09:03:03  1046#0: using the "epoll" event method                     
                                     
2009/11/27 09:03:03  1046#0: nginx/0.7.64                                       
                                     
2009/11/27 09:03:03  1046#0: built by gcc 4.1.2 20080704 (Red Hat 4.1.2-46)     
                                     
2009/11/27 09:03:03  1046#0: OS: Linux 2.6.18-92.1.22.el5                       
                                     
2009/11/27 09:03:03  1046#0: getrlimit(RLIMIT_NOFILE): 4096:4096                
                                     
2009/11/27 09:03:03  1049#0: start worker processes                             
                                     
2009/11/27 09:03:03  1049#0: start worker process 1050                          
                                     
2009/11/27 09:03:03  1049#0: start worker process 1051                          
                                     
2009/11/27 09:03:03  1049#0: start worker process 1052                          
                                     
2009/11/27 09:03:03  1049#0: start worker process 1053                          
                                     
2009/11/27 09:03:03  1049#0: start worker process 1054                          
                                     
2009/11/27 09:03:03  1049#0: start worker process 1055                          
                                     
2009/11/27 09:03:03  1049#0: start worker process 1056                          
                                     
2009/11/27 09:03:03  1049#0: start worker process 1057

Не редко в логах похожее:
--------------------------------------------------------------------
2009/11/27 09:06:25  1053#0: *1152 client closed prematurely connection while 
reading client request line, client: 61.1
70.148.86, server: farm-a.io.com.ua                                             
                                             
2009/11/27 09:06:25  1053#0: *1192 client closed prematurely connection while 
reading client request line, client: 61.1
70.148.86, server: farm-a.io.com.ua                                             
                                             
2009/11/27 09:06:25  1054#0: *1273 client closed prematurely connection while 
reading client request line, client: 61.1
70.148.86, server: farm-a.io.com.ua                                             
                                             
2009/11/27 09:06:25  1053#0: *1151 client closed prematurely connection while 
reading client request line, client: 61.1
70.148.86, server: farm-a.io.com.ua                                             
                                             
2009/11/27 09:06:25  1056#0: *1232 client closed prematurely connection while 
reading client request line, client: 61.1
70.148.86, server: farm-a.io.com.ua                                             
                                             
2009/11/27 09:06:25  1053#0: *1153 client closed prematurely connection while 
reading client request line, client: 61.1
70.148.86, server: farm-a.io.com.ua

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,25907,25907#msg-25907


_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.