Сколько выбрать worker_connections в зависимости от количества workers

Igor Sysoev is at rambler-co.ru
Fri May 29 23:30:50 MSD 2009


On Fri, May 29, 2009 at 11:27:10PM +0400, Михаил Монашёв wrote:

> Здравствуйте, Игорь.
> 
> >> Каждый  nginx держит примерно 20000 соединений. Я хочу написать скрипт
> >> для  генерации  конфигов nginx (руками править достало). В зависимости
> >> от  количества  воркеров  хочется  вычислять worker_connections. Как я
> >> понимаю,  worker_connections  может  меняться от 1024 до 65536. Во фре
> >>
> >> первый воркер хватает при старте nginx-а новые соединения до опупения,
> >> даже  если  другие  воркеры отдыхают. И поэтому 1024 вроде хватало при
> >> 1000 воркеров, чтобы соединения начали принимать другие воркеры.
> >> 
> >> Но  возникает  два вопроса. worker_connections обязательно должны тыть
> >> степенью  2?  И  по  какой  формуле  должно расти worker_connections в
> >> зависимости от количества workers? Линейный рост тут подходит?
> 
> IS> Верхнего предела нет, степень двойке не нужна.
> IS> Формулу не знаю, у меня большие значения, порядка 100,000.
> 
> А  worker_connections  -  это  просто  лимит или кратно ему память под
> соединения выделяется?

Сейчас выделяется сразу. Планирую выделять on demand.

> IS> Что касается первого воркера, то, нахватав соединений, он должен
> IS> съесть много процессора и в какой-то момент ядро должно отдавать
> IS> соединения другим. Этого не происходит ?
> 
> Происходит. обычно он больше 1024 не может скушать.

Ну и так, поставь 20,000 на каждый и всё.


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





More information about the nginx-ru mailing list