Можно ли буферизацией разгрузить дисковую и процессор?
ProxyKZ
nginx-forum at nginx.us
Tue Oct 30 14:20:00 UTC 2012
На сервере стояла Linux Debian + Apache + Nginx + MySQL, с ростом
посещаемости сайтов начались проблемы с дисковой системой, в Top-е часто
висел WA со значениями 50-100% при этом nginx начинал медленно отдавать
статику, да и в целом производительность сервера падала. ОС полностью
перенес в контейнер (на VPS) другого сервера, контейнеру выделил в 2 раза
больше ОЗУ, производительность немного выросла, но ОС по прежнему даже при
большой нагрузке использовала только 2-2,2Gb. Даже увеличение буферов nginx
удалось достичь совсем небольшо увеличения использования ОЗУ (до 2,5Gb).
В резерве у ОС остается еще куча памяти (всего сейчас на сервере 4Gb) а она
грузит процессор (возможно из-за медленной дисковой) почти постоянно и
дисковую частенько.
Внимание, вопрос знатокам Nginx-а:
Какие значения конфига нужно увеличить и примерно до скольки, чтобы научить
сервер использовать свободную ОЗУ и разгрузить дисковую систему и процессор
(хотя подозреваю что разгрузив дисковую, разгрузится и процессор).
Сейчас конфиг nginx такой:
user www-data;
worker_processes 4;
error_log /var/log/nginx/error.log error;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
use epoll;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
sendfile on;
tcp_nodelay on;
client_max_body_size 10m;
client_body_buffer_size 128k;
client_header_timeout 5s;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffering on;
proxy_buffer_size 8k;
proxy_buffers 32 128k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;
gzip on;
gzip_comp_level 3;
keepalive_timeout 70;
limit_req_zone $binary_remote_addr zone=one:10m rate=3r/s;
Буду очень благодарен за советы!
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,232383,232383#msg-232383
Подробная информация о списке рассылки nginx-ru