ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: количество workerов, сonnectionов, keep- alive и прочие -- как надо?



On Wed, 16 Aug 2006, Alexei Korobkin wrote:

Dear All,

Помогите разобраться новичку, пожалуйста.

Связка из двух серверов, frontend+backend, два соляриса sparc 9.
На бэкенде Апач 1.3.37, на фронтенде всегда был Sun Proxy Server.

Sun Proxy Server это -
http://www.sun.com/software/products/web_proxy/home_web_proxy.xml
?

Под влиянием отзывов про nginx захотелось его поставить да проверить, поставил со всеми настройками по умолчанию, как на http://blog.kovyrin.net/2006/05/18/nginx-as-reverse-proxy/, только весь контент на Апаче, nginx ничего с локального диска не отдает.

На фронтенде stub_status показывает нагрузку ~500 реквестов в секунду. Так оно примерно и есть.

Так вот, если worker_processes делать много и worker_connections много (до 32*1024), мы получаем тормоза при работе, и сообщения в лог сыпятся upstream timed out (145: Connection timed out) while connecting to upstream ...
а потом вообще серии
accept() failed (24: Too many open files) while accepting new connection on 0.0.0.0:80

Если же workers и connections ставить немного (от 2*128), получаем в лог
128 worker_connections is not enough while connecting to upstream
и опять же сайт отдается медленно.

Что самое интересное, независимо от количества worker_processes и connections количество открытых соединений между Апачем и nginx-ом дорастает до 2000. В то время как Sun Proxy всегда держит не более 300 и не тормозит.

Если Sun Proxy Server кэширует, то дело в этом.
nginx не поддерживает кэширования.

Настаривать нужно примерно так:

worker_processes  2;

events {
   worker_connections  10240;
}

Ну и увеличить число дескрипторов на процесс.
А статику отдавать локально с диска, а не проксировать её на бэкенд.

Эту ситуацию надо специально отлаживать, или я просто что-то неправильно накрутил?

Последний рабочий конфиг вот, я там пробовал всякие параметры менять, не помогает.

=========Beginning of the citation==============
worker_processes  2;


events {
  worker_connections  128;
}


http {
  include       conf/mime.types;
  default_type  application/octet-stream;

  sendfile        on;

  keepalive_timeout 60;
  reset_timedout_connection  on;

  tcp_nopush     on;
  tcp_nodelay    on;

  gzip on;
  gzip_min_length  1100;
  gzip_buffers     4 8k;
  gzip_types       text/plain;

  client_header_buffer_size    1k;
  large_client_header_buffers  4 4k;

  output_buffers   1 32k;
  postpone_output 1460;

  client_header_timeout  3m;
  client_body_timeout    3m;
  send_timeout           3m;

  client_body_temp_path       /usr/local/nginx/logs/client_body_temp;
  proxy_temp_path             /usr/local/nginx/logs/proxy_temp_path;


  server {
      listen       80;

      location /nginx-status {
          stub_status on;
          access_log   off;
          allow user1.domain.com;
          deny all;
      }

      location / {
          root html;
          proxy_pass http://backend;
          proxy_redirect off;

          proxy_set_header   Host    $http_host;
          proxy_set_header   X-Real-IP        $remote_addr;

          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          4k;
          proxy_buffers              4 32k;
          proxy_busy_buffers_size    64k;
          proxy_temp_file_write_size 64k;


     }
  }
  upstream  backend  {
              server www.domain.com;
  }
}
=========The end of the citation================


--
With best regards, Alexei Korobkin.



Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.