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