Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Рекомендации по сниже нию загрузки процессора
> А конфиг?
> Есть ли sendfile?
Я думал напишут общие рекомендации...
sendfile был включен (вот не догодался попробовать выключить, стормозил...)
большое число запросов шло именно на SSL, тоесть остальные сайты или имели
незначительный поток или были отключены. 503 почти небыло, лимит был
поставлен с запасом, но сами строчки проверки были. Общий трафик менялся,
максимум был 60 мбит/с (проксирование порядка 20 мбит/с, остальное
статика). load average взлетал до 20, при этом отдаваемый поток падал.
Найти корреляцию с графиками числа запросов к апачам или количеством
одновременных соединений с апачами не получается.
Через несколько часов я включил почти все сайты, SSL-ные состовляли
значительную часть, но уже не приблиаясь к 100 процентам. nginx выдал 80
мбит с умененным load average.
И вопрос, если я дополнительно стану использовать limit_req это сильно
скажется на загрузке процессора, или лучше при необходимости использовать
фичи в iptables ?
Число воркеров менял, не влияло никак (изначально 20 стояло). зотя
возможно чуть полегче стало с уменьшением их до 8.
user nginx nginx;
worker_processes 8;
error_log /var/log/nginx/error_log info;
worker_rlimit_nofile 8192;
events {
worker_connections 8192;
use epoll;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
client_header_timeout 61;
client_body_timeout 62;
send_timeout 63;
client_max_body_size 10m;
connection_pool_size 256;
client_header_buffer_size 1k;
large_client_header_buffers 4 2k;
request_pool_size 4k;
gzip on;
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 75 20;
ignore_invalid_headers on;
index index.html;
proxy_read_timeout 65;
proxy_send_timeout 11;
proxy_connect_timeout 10;
proxy_next_upstream error;
# upstream apache0 {
# ip_hash;
# server 172.29.8.4:80 fail_timeout=60s;
# server 172.29.8.5:80 fail_timeout=60s;
# }
log_format my_log_format '$msec $request_time '
'$remote_addr:$remote_port $connection $uid_got $uid_set '
'$status $request_length $body_bytes_sent '
'"$request" "$http_referer"';
log_format stat_log_format '$msec $request_time
$remote_addr:$remote_port '
'$status $uid_got $uid_set $server_name$request_uri $http_referer '
'$upstream_addr $upstream_response_time $upstream_status
$time_local "$http_user_agent"';
log_format static_log_format '$msec $request_time
$remote_addr:$remote_port '
'$status $server_name$request_uri';
limit_zone one $binary_remote_addr 10m;
limit_conn one 32;
limit_zone too $server_name 1m;
userid on;
userid_name stat_uid;
userid_domain none;
userid_path /;
# userid_expires 365d;
include /etc/nginx/include/*;
}
Пример для хоста
server {
listen 81.176.70.170;
server_name cp.4game.ru ;
proxy_next_upstream error timeout invalid_header http_500 http_503;
rewrite ^/(.*) https://cp.4game.ru/$1 permanent;
}
server {
listen 81.176.70.170:443 default;
ssl on;
ssl_certificate /etc/nginx/ssl/cp.4game.ru.pem;
ssl_certificate_key /etc/nginx/ssl/cp.4game.ru.pem;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers
ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
server_name cp.4game.ru ;
charset UTF8;
access_log /var/log/nginx/cp.4game.ru-access_log combined;
# error_log /var/log/nginx/cp.4game.ru-error_log;
location ~* (^/.htaccess.*|admin\/(admin.php.*)$) { deny all; }
location ~* ^(.+\.(php|php3|html)|.*/)$ {
proxy_pass http://apache0;
proxy_set_header Host cp.4game.ru;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
index index.php index.html;
limit_conn too 120;
access_log /var/log/nginx/stat_log stat_log_format;
error_page 503 /503.html;
}
location = /503.html {
internal;
root /data/test/htdocs;
access_log /var/log/nginx/stat_log stat_log_format;
}
location ~ / {
root /data/cp.4game.ru/htdocs;
# access_log /var/log/nginx/static_log static_log_format;
}
}
Остальные хосты аналогичные.
> 1 декабря 2008 г. 18:57 пользователь Volkov Oleg
> <volkov@xxxxxxxxxxxxxx>написал:
>
>> В сообщении от Monday 01 December 2008 17:59:49 Anton Yuzhaninov
>> написал(а):
>> > On 01.12.2008 17:19, Volkov Oleg wrote:
>> > > Какие могут быть рекомендации по снижению загрузки процессора от
>> nginx
>> ?
>> > >
>> > > При трафике 60 Mbit/s машине уже плохо.
>> > >
>> > > Использую nginx в качестве фронтенда, проксирование на апачи - 20
>> мбит/с,
>> > > остальное статика с scsi массивов.
>> >
>> > А что top показывает?
>> >
>> > Вполне возможно что процессор грузит ядро.
>> >
>> > Если есть какой либо файрвол, то лучше его отключить.
>> > Для FreeBSD можно увеличить net.inet.tcp.tcbhashsize
>>
>> Система Linux 2.6
>> Load Average был до 20
>> idle был 0
>> system был умеренным, грузило в основном user процессы nginx
---
С уважением,
Волков Олег.
Терабит Телеком.
|