количество workerов, сonnectionов, keep-alive и прочие -- как надо?
AleXXX V. NovikoFF
alexxx at alexxx.ru
Wed Aug 16 14:33:27 MSD 2006
Здравствуйте!
root html; хм...
Wed, 16 Aug 2006 14:13:21 +0400 Вы писали:
AK> Dear All,
AK>
AK> Помогите разобраться новичку, пожалуйста.
AK>
AK> Связка из двух серверов, frontend+backend, два соляриса sparc 9.
AK> На бэкенде Апач 1.3.37, на фронтенде всегда был Sun Proxy Server.
AK>
AK> Под влиянием отзывов про nginx захотелось его поставить да проверить, поставил со всеми настройками по умолчанию, как на http://blog.kovyrin.net/2006/05/18/nginx-as-reverse-proxy/, только весь контент на Апаче, nginx ничего с локального диска не отдает.
AK>
AK> На фронтенде stub_status показывает нагрузку ~500 реквестов в секунду. Так оно примерно и есть.
AK>
AK> Так вот, если worker_processes делать много и worker_connections много (до 32*1024), мы получаем тормоза при работе, и сообщения в лог сыпятся
AK> upstream timed out (145: Connection timed out) while connecting to upstream ...
AK> а потом вообще серии
AK> accept() failed (24: Too many open files) while accepting new connection on 0.0.0.0:80
AK>
AK> Если же workers и connections ставить немного (от 2*128), получаем в лог
AK> 128 worker_connections is not enough while connecting to upstream
AK> и опять же сайт отдается медленно.
AK>
AK> Что самое интересное, независимо от количества worker_processes и connections количество открытых соединений между Апачем и nginx-ом дорастает до 2000. В то время как Sun Proxy всегда держит не более 300 и не тормозит.
AK>
AK> Эту ситуацию надо специально отлаживать, или я просто что-то неправильно накрутил?
AK>
AK> Последний рабочий конфиг вот, я там пробовал всякие параметры менять, не помогает.
AK>
AK> =========Beginning of the citation==============
AK> worker_processes 2;
AK>
AK>
AK> events {
AK> worker_connections 128;
AK> }
AK>
AK>
AK> http {
AK> include conf/mime.types;
AK> default_type application/octet-stream;
AK>
AK> sendfile on;
AK>
AK> keepalive_timeout 60;
AK> reset_timedout_connection on;
AK>
AK> tcp_nopush on;
AK> tcp_nodelay on;
AK>
AK> gzip on;
AK> gzip_min_length 1100;
AK> gzip_buffers 4 8k;
AK> gzip_types text/plain;
AK>
AK> client_header_buffer_size 1k;
AK> large_client_header_buffers 4 4k;
AK>
AK> output_buffers 1 32k;
AK> postpone_output 1460;
AK>
AK> client_header_timeout 3m;
AK> client_body_timeout 3m;
AK> send_timeout 3m;
AK>
AK> client_body_temp_path /usr/local/nginx/logs/client_body_temp;
AK> proxy_temp_path /usr/local/nginx/logs/proxy_temp_path;
AK>
AK>
AK> server {
AK> listen 80;
AK>
AK> location /nginx-status {
AK> stub_status on;
AK> access_log off;
AK> allow user1.domain.com;
AK> deny all;
AK> }
AK>
AK> location / {
AK> root html;
AK> proxy_pass http://backend;
AK> proxy_redirect off;
AK>
AK> proxy_set_header Host $http_host;
AK> proxy_set_header X-Real-IP $remote_addr;
AK>
AK> client_max_body_size 10m;
AK> client_body_buffer_size 128k;
AK>
AK> proxy_connect_timeout 90;
AK> proxy_send_timeout 90;
AK> proxy_read_timeout 90;
AK>
AK> proxy_buffer_size 4k;
AK> proxy_buffers 4 32k;
AK> proxy_busy_buffers_size 64k;
AK> proxy_temp_file_write_size 64k;
AK>
AK>
AK> }
AK> }
AK> upstream backend {
AK> server www.domain.com;
AK> }
AK> }
AK> =========The end of the citation================
AK>
AK>
AK> --
AK> With best regards, Alexei Korobkin.
AK>
--
AleXXX V. NovikoFF <alexxx at alexxx.ru>
More information about the nginx-ru
mailing list