ПРОЕКТЫ 


  АРХИВ 


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: Master процесс nginx 0.6.38 съедает всю доступную память


  • To: Одинцов Павел <nginx-ru@xxxxxxxxx>
  • Subject: Re: Master процесс nginx 0.6.38 съедает всю доступную память
  • From: Gena Makhomed <gmm@xxxxxxxxx>
  • Date: Sat, 12 Sep 2009 21:59:38 +0300
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=csdoc.com; s=dkim; t=1252782117; bh=vFVQLLg7kfCUCFO0Z1Wr06JjPJcHHJtedVCTBsfCsXI=; h=Date:From:X-Mailer:X-Priority:Message-ID:To:Subject:In-Reply-To: References:MIME-Version:Content-Type:Content-Transfer-Encoding; b=YIobULJ7tCr9ZFLtIHmznt7kyuR7RC/r3/hahHFGm9NZ96x1NUU6siNJi5/uD91yP FxDpCzX0SwX7epuPiUGDNIIXjOXGo9EpIGfvCie72OxBIq0xC5GtZ2KSsZIDz1v3e7I Exk01wYQp15T35d1DUk9cBs8wdWwM8Hf6Tu3E1I=
  • In-reply-to: <edcf61010909071318h62a18cabx9714f782d46c2956@xxxxxxxxxxxxxx>
  • References: <edcf61010909071318h62a18cabx9714f782d46c2956@xxxxxxxxxxxxxx>

On Monday, September 7, 2009 at 23:18:21, Одинцов Павел wrote:

ОП> Имеется очень противная проблема, nginx 0.6.38 (epel репозиторий)
ОП> стоит проксей перед хостинговой Апачей и попутно раздает статику;
ОП> изредка на паре машин из полутора десятков nginx (master процесс)
ОП> начинает жутко поедать память и в итоге через пару минут сваливает
ОП> машину. Подозрения о причинах такого поведения есть в сторону буферов
ОП> и проксирования больших файлов от Апача, но тут ничего толком не
ОП> получилось понять.  Помогайте :(

насколько часто ему посылается SIGHUP, SIGUSR1 и другие сигналы?

ОП> Конфиг:

ОП> worker_processes  1;

на 4-ядерном Xeon`е наверное более эффективно
было бы использовать как минимум 4 worker`а:

worker_processes  4;
worker_priority -10;
worker_cpu_affinity 0001 0010 0100 1000;

ОП> events {
ОП>     worker_connections  10024;

ОП> http {
ОП>     keepalive_timeout  65;

это разве не мало для 4-ядерного сервера с 10 GB памяти,
который находится при этом "под очень большой нагрузкой" ?

===============================================================

http://wiki.nginx.org/NginxHttpEventsModule#worker_connections

The worker_connections and worker_proceses from the main section allows you to 
calculate maxclients value:

max_clients = worker_processes * worker_connections

In a reverse proxy situation, max_clients becomes

max_clients = worker_processes * worker_connections/4

Since a browser opens 2 connections by default to a server and nginx uses the 
fds (file descriptors) from the same pool to connect to the upstream backend 

===============================================================

в современных браузерах не 2 connections by default,
вот например, как это выглядит для нового Firefox`а:

network.http.max-connections-per-server
(Minimo default: 2. All others default: 8. Firefox 3: 15)

network.http.max-persistent-connections-per-server
(Default: 2. Firefox 3: 6)

PS возможно лучше было бы оценивать не число max_clients,
а более точное число max_client_connections (keepalive+active):

max_client_connections = worker_processes * worker_connections / 2
для запросов требующих обращения к {proxy,fastcgi,memcached}_pass

max_client_connections = worker_processes * worker_connections
для запросов, которые nginx обслуживает без обращения к backend`ам.

-- 
Best regards,
 Gena




 




Copyright © Lexa Software, 1996-2009.