медленная раздача файлов
deniswork at uzvik.kiev.ua
deniswork at uzvik.kiev.ua
Sat Apr 7 16:07:10 MSD 2007
Здравствуйте, у меня пробелма с раздачей файлов
через nginx. Когда становится много одновременных коннектов, то
скорость становится очень маленькой, хотя если паралельно с этим
качать файлы по фтп или через другой веб-сервер, то скорость
нормальная (т.е. проблема видимо не в винтах и не в канале).
На сервере 2Гб ОЗУ, загрузка не превышает 60% (в основном МуСКЛ,
который крутится тут-же). Т.е дело видимо в неоптимальной настройкой
nginx для одновременной раздачи большого количества файлов. На
сервере программный raid5 из 4х винтов SATA2 500Gb (16M cache) и linux
debian 3.1r5
/nginx_status
Active connections: 236
server accepts handled requests
62349 62349 73522
Reading: 11 Writing: 185 Waiting: 40
cat /usr/local/nginx/conf/nginx.conf
user www-data www-data;
worker_processes 10;
events {
worker_connections 4096;
use epoll;
}
http {
include /usr/local/nginx/conf/mime.types;
default_type application/octet-stream;
access_log off;
server_names_hash_max_size 64;
server_names_hash_bucket_size 64;
client_body_buffer_size 128k;
client_body_temp_path /usr/local/nginx/client_body_temp;
client_header_buffer_size 2k;
client_header_timeout 3m;
client_body_timeout 3m;
send_timeout 3m;
output_buffers 4 512k;
postpone_output 1460;
client_max_body_size 1m;
keepalive_timeout 65;
large_client_header_buffers 2 4k;
sendfile on;
tcp_nodelay on;
tcp_nopush on;
proxy_buffer_size 2k;
proxy_buffering on;
proxy_buffers 32 8k;
proxy_intercept_errors off;
proxy_redirect off;
proxy_connect_timeout 2;
proxy_read_timeout 120;
proxy_send_timeout 30;
proxy_temp_path /usr/local/nginx/proxy_temp;
#proxy_max_temp_file_size 0;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header Connection close;
limit_zone one $rem_file 5m ;
log_format main '$remote_addr - - [$time_local] [$bytes_sent] "$request" $status';
server {
listen 192.168.0.3:80;
server_name 192.168.0.3;
error_page 503 /50x.html;
location = /50x.html {
root /usr/local/nginx/html;
}
access_log /var/log/upload_access.log main;
location / {
root html;
index index.html index.htm;
proxy_pass http://192.168.0.2:80/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 2k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
location /upload {
root /home/esc/daemon;
limit_conn one 1;
set $rem_file $binary_remote_addr$uri;
}
location /nginx_status {
stub_status on;
access_log off;
allow all;
}
}
}
More information about the nginx-ru
mailing list