Нагрузка на диски какая?Может в пик нагрузки просто
недостаточно ресурсов жёсткого диска, чтобы считать и отдать файлы?
----- Original Message -----
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;
}
}
|