Сколько выбрать 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