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

Alexey Kovyrin alexey at kovyrin.net
Tue Feb 17 09:09:14 MSK 2009


а на iostat поглядеть? он вам скажет, справляется ли диск

2009/2/17 Алексей Загородников <admin at tltorrent.ru>:
> Нули везде.
> Сегодня попробую вынести mysql в рамдиск, если ситуацию исправит то наверное
> диск не справляется и стоит отдельный сервер под БД делать.
>
> 2009/2/17 Alexey Kovyrin <alexey at kovyrin.net>
>>
>> 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/
>
>



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


More information about the nginx-ru mailing list