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

Алексей Загородников admin at tltorrent.ru
Tue Feb 17 06:50:26 MSK 2009


Ресурсов харда вроде достаточно, там рейд0+1 собран на 4 дисках.

Вот интересно былобы чтото найти про настройку Linux, такое ощущение что
нехватает свободных сокетов ему, много соединений висит в TIME_WAIT.
Никаких файрволов нет, поддержка nf_conntrack вырезана из ядра.


17 февраля 2009 г. 1:17 пользователь Асафов Сергей aka MurZiK <
Asafchik at inbox.ru> написал:

>  Нагрузка на диски какая?Может в пик нагрузки просто недостаточно ресурсов
> жёсткого диска, чтобы считать и отдать файлы?
>
> ----- Original Message -----
> *From:* Алексей Загородников <admin at tltorrent.ru>
> *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/7e4ad128/attachment.html>


More information about the nginx-ru mailing list