ПРОЕКТЫ 


  АРХИВ 


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]

Re: ????????????? ?????????? ??? ???????? ??????? ? nginx



Hello Алексей,

Monday, February 16, 2009, 11:16:08 PM, you wrote:

АЗ> Приветствую всех, возник следующий вопрос
АЗ> В городской сети поднят торрент-трекер, 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;
АЗ>                 }


АЗ>         }
Попробуйте
http://lists.lexa.ru/nginx-ru/msg19663.html

и сравните свои настройки с

net.core.netdev_max_backlog = 16384
net.core.somaxconn = 262144
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_max_tw_buckets = 720000
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1


Best regards,
CoolCold [COOLCOLD-RIPN]




 




Copyright © Lexa Software, 1996-2009.