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

Alexey Kovyrin alexey at kovyrin.net
Tue Feb 17 08:27:07 MSK 2009


cat /proc/sys/net/ipv4/tcp_tw_recycle
cat /proc/sys/net/ipv4/tcp_tw_reuse

2009/2/16 Алексей Загородников <admin at tltorrent.ru>:
> Ресурсов харда вроде достаточно, там рейд0+1 собран на 4 дисках.
>
> Вот интересно былобы чтото найти про настройку Linux, такое ощущение что
> нехватает свободных сокетов ему, много соединений висит в TIME_WAIT.
> Никаких файрволов нет, поддержка nf_conntrack вырезана из ядра.
>
>
> 17 февраля 2009 г. 1:17 пользователь Асафов Сергей aka MurZiK
> <Asafchik at inbox.ru> написал:
>>
>> Нагрузка на диски какая?Может в пик нагрузки просто недостаточно ресурсов
>> жёсткого диска, чтобы считать и отдать файлы?
>>
>> ----- 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;
>>                 }
>>
>>
>>         }
>>
>
>



-- 
Alexey Kovyrin
http://kovyrin.info/


More information about the nginx-ru mailing list