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

Асафов Сергей aka MurZiK Asafchik at inbox.ru
Tue Feb 17 00:17:33 MSK 2009


Нагрузка на диски какая?Может в пик нагрузки просто недостаточно ресурсов жёсткого диска, чтобы считать и отдать файлы?
  ----- Original Message ----- 
  From: Алексей Загородников 
  To: nginx-ru at sysoev.ru 
  Sent: Monday, February 16, 2009 11:16 PM
  Subject: Периодические подвисания при загрузке статики в nginx


  Приветствую всех, возник следующий вопрос
  В городской сети поднят торрент-трекер, 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/7d0e2f78/attachment.html>


More information about the nginx-ru mailing list