Периодические подвисания при загрузке статики в nginx

Алексей Загородников admin at tltorrent.ru
Mon Feb 16 23:16:08 MSK 2009


Приветствую всех, возник следующий вопрос
В городской сети поднят торрент-трекер, 20000 пользователей, примерно 5000
уников в сутки, и 4000 одновременно подключенных торрент клиентов.
Все это реализовано на nginx + fast-cgi, fcgi и nginx прикручены через unix
socket, движек трекера - torrentpier. Конфигурация железки: 2*XeonE5410 /
8Gb / RAID0+1
В пик нагрузки начал наблюдать такие проблемы, странички через раз то
открываются с отличной скорость, то зависает на загрузке от 10 до 200
секунд, причем после загрузки показывается что пхп генерится как и обычно за
0,056сек.
Попробовал испытать через ab просто статичную картинку, эффект тотже, просто
наглухо виснет тест и все. В это время в нетстате клиента видно что
соединения висят в SYN_SENT.

Перепробовал уже большинство возможных вариантов найденных в инете, ничего
не дает улучшения в производительности.
Может кто сталкивался с подобной проблемой, подскажите решение.

nginx version: nginx/0.7.34

Вот примерный конфиг этого чуда:
user nginx nginx;
worker_processes 50;
worker_rlimit_nofile 20192;

error_log /var/log/nginx/error_log info;

events {
    worker_connections  50192;
    use epoll;
}

http {
    include        /etc/nginx/mime.types;
    default_type    application/octet-stream;
    client_max_body_size 1000m;
        server_names_hash_bucket_size 64;

    log_format main
        '$remote_addr - $remote_user [$time_local] '
            '"$request" $status $bytes_sent '
        '"$http_referer" "$http_user_agent" '
        '"$gzip_ratio"';

    client_header_timeout    3m;
    client_body_timeout    3m;
    send_timeout        3m;

    connection_pool_size        2024;
    client_header_buffer_size    1k;
    large_client_header_buffers    4 2k;
    request_pool_size        4k;

    gzip off;
#    gzip_min_length    1100;
#    gzip_buffers    4 8k;
#    gzip_types    text/plain;

    output_buffers    1 32k;
    postpone_output    1460;

    sendfile    on;
    tcp_nopush    on;
    tcp_nodelay    on;

    keepalive_timeout    0;
        lingering_time 30;
        lingering_timeout 2;
        reset_timedout_connection on;

#    ignore_invalid_headers    on;

    index index.html;

    server {
                listen 80;

                access_log off;
#                access_log /var/log/nginx/access_tr.log;
                error_log /var/log/nginx/error_tr.log;
        server_name_in_redirect off;
                server_name tltorrent.ru www.tltorrent.ru tltorrent.net.ru
www.tltorrent.net.ru tr.xtlt.ru test.tr;

        error_page  502  /errors/502.html;
        error_page  403  /errors/403.html;

        location = /nginx_status {
                    stub_status on;
                    access_log   off;
                    allow all;
            }

            location / {
                    root   /var/www/tltorrent;
                    index  index.html index.htm index.php;
                }

                location ~ .php$ {
#        fastcgi_pass   127.0.0.1:1026;
                fastcgi_pass unix:/tmp/fcgi.sock;

                fastcgi_index  index.php;

        fastcgi_connect_timeout 60;
            fastcgi_read_timeout 60;
            fastcgi_send_timeout 60;

                fastcgi_param  SCRIPT_FILENAME
/var/www/tltorrent$fastcgi_script_name;
                fastcgi_param  QUERY_STRING       $query_string;
                fastcgi_param  REQUEST_METHOD     $request_method;
                fastcgi_param  CONTENT_TYPE       $content_type;
                fastcgi_param  CONTENT_LENGTH     $content_length;

                fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
                fastcgi_param  REQUEST_URI        $request_uri;
                fastcgi_param  DOCUMENT_URI       $document_uri;
                fastcgi_param  DOCUMENT_ROOT      $document_root;
                fastcgi_param  SERVER_PROTOCOL    $server_protocol;

                fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
                fastcgi_param  SERVER_SOFTWARE    nginx;

                fastcgi_param  REMOTE_ADDR        $remote_addr;
                fastcgi_param  REMOTE_PORT        $remote_port;
                fastcgi_param  SERVER_ADDR        $server_addr;
                fastcgi_param  SERVER_PORT        $server_port;
                fastcgi_param  SERVER_NAME        $server_name;
        #$http_x_forwarded_host;
                fastcgi_param  HTTP_HOST        $http_host;
        #$http_x_forwarded_host;

                }
                location /forum/ub/ {
                    rewrite ^/forum/ub/(.*).png$ /forum/ub/ub.php?u=$1;
                }


        }
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20090217/b4368f5a/attachment.html>


More information about the nginx-ru mailing list