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