помогите настроить nginx для отдачи статики

D2
На сайте с 25.07.2007
Offline
27
8040

нужно научить nginx нормально отдавать небольшие файлы до 1.5мб на нагрузке в 300 мегабит

проблема следующая:

арендовали сервер на котором nginx нормально работал, далее после того как начались проблемы у ДЦ пришлось съехать.

заюзали под отдачу статики простаивающий сервак следующей конфигурации:

1U сервер DELL 1950, 2xQC Xeon 5355 (2,66GHz/8mb/1333MHz), RAM 8GB PC2-5300 FBDIMM (8x1GB), 2xHDD 73GB SAS 15000 RPM HOTSWAP, RAID - Perc5

Такой конфы должно хватить уж для 300мегабит точно.

взяли линию 300 мегабит гарантированную, настроили nginx, но видимо от моих кривых рук он начинает сильно лагать при отдачи свыше 200мегабит.

мало того у многих клиентов очень часто не загружаются больше файлы 1-1.5мб даже при нагрузке в 50-100мегабит.

статистику по серверу можно посмотреть здесь, по которой видно что CPU совсем не нагружено

http://my.rmart.ru/munin/localdomain/localhost.localdomain.html

статика: это небольшой клиент игры на флеше общим весом в 2.5 метра.

nginx стоит последней версии.

настройки: nginx.conf


user www-data;
worker_processes 24;
timer_resolution 100ms;
worker_rlimit_nofile 8192;
worker_priority -5;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;

events {
worker_connections 2048;
use epoll;
}

http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log off;
tcp_nodelay on;
output_buffers 2 64k;
keepalive_timeout 4;
gzip on;
application/x-shockwave-flash application/x-javascript text/css;
include /etc/nginx/sites-enabled/*;
}

proxy_cache_path /var/tmp/nginx/store levels=1:2 keys_zone=STATIC:10m inactive=1d max_size=128m;
server {
listen 127.0.0.1:80;
root /var/www/nginx-default/;
}

server {
listen 80;
access_log /dev/null;
location ~\.swf$ {
proxy_pass http://127.0.0.1:80;
expires 30d;
proxy_intercept_errors on;
proxy_cache STATIC;
proxy_cache_min_uses 1;
proxy_cache_valid 1d;
proxy_ignore_client_abort on;
proxy_temp_path /var/tmp/nginx/tmp;
proxy_cache_use_stale updating;
}

location /nginx_status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}

location /munin {
alias /var/www/nginx-default/munin;
autoindex on;
}

location / {
root /var/www/nginx-default;
index index.php index.html index.htm;
}

location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/nginx-default$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}

location ~ /\.ht {
deny all;
}
}

Уверен что допустил глупую ошибку

Zaqwr
На сайте с 08.08.2007
Offline
111
#1

gzip off;

output_buffers 2 128k;

proxy_cache_path создаст доп нагрузку на диск

задайте лучше в /dev/shm у вас там памяти аж 6G бездействует

sendfile off;

в пиках попробуйте скачать что-нибудь используя ftp, если скорость маленькая, значит вас обманывают...

Администрирование, Linux, Cisco, Juniper
WhiteSuite
На сайте с 09.11.2010
Offline
21
#2

worker_rlimit_nofile 8192; - очень мало для такого масштаба. Делайте раз в 100 больше.

Gzip лучше подкорректировать:

gzip on;

gzip_min_length 1100;

gzip_buffers 64 8k;

gzip_comp_level 3;

gzip_http_version 1.1;

gzip_proxied any;

gzip_types text/plain application/xml application/x-javascript text/css;

Скоростной хостинг на платформе NodeSquad. Скромные цены и большие тестовые периоды. Отзывы на SearchEngines. (/ru/forum/comment/7975529)
D2
На сайте с 25.07.2007
Offline
27
#3

эх проовал уже по разному,

поставил:

worker_rlimit_nofile 65536;

gzip off;

output_buffers 2 128k;

sendfile off;

пробовал играться настраивая gzip но толку нет тк все равно отдаем swf

Теперь nginx не тупит, отдает норм, НО порой зависает на отдаче, то есть загрузчик порой не дождаться файла(можно ждать часами, и не ошибки ничего) и только очистка кеша и вновь долгое ожидание помогает.

Еще бывает теперь при пиковой нагрузке некоторым клиентам совсем не отдает 1-2 файла из множества файлов клиента, закрывая соединение.

Zaqwr
На сайте с 08.08.2007
Offline
111
#4
denver23:
и только очистка кеша

на компьютере или на сервере?

D2
На сайте с 25.07.2007
Offline
27
#5
Zaqwr:
на компьютере или на сервере?

Очистка кеша браузера на компе

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий