Проблема при >1500 одновременных коннектов.

Вадим lvm at rkmail.ru
Tue Feb 10 23:09:31 MSK 2009


Михаил Монашёв пишет:
> Здравствуйте, Вадим.
>
> В> X-воркеров  на  N-дисков  + хитрый балансировщик, который знает где
> В> какие файлы лежат - сложно все это. Самое лучшее, конечно, это если
> В> бы в nginx появился полноценный aio.
>
> Это тоже не панацея. Ибо там тоже есть свои ограничения и aio - борьба
> с симптомами, а не с болезнью. Единственное чем оно полезно - не нужно
> иметь 1000 воркеров, что немного экономит память
В Linux, например, в top можно увидеть как все ядра процессора заняты 
вводом/выводом (wa).
Планировщик тратит процессорное время на воркеры, которые в ближайшее 
время не разлочатся и так и останутся в D.
Из-за этого отклик всей системы сильно проседает.

и это получается:*
*worker_processes 1000;
а worker_connections сколько?
1? - получится apache
100? - опять остается возможность торможения неповинных соединений, 
которые обрабатываются в залоченном воркере.
Плюс ко всему, тут как-то обсуждалась методика равной балансировки 
соединений между воркерами. Как я понял, чтобы сбалансировать - нужно 
будить все процессы.

aio, как мне кажется - единственный и логичный выход. Естественно оно не 
увеличит отдачу с диска, но в то же время убьет bottleneck





More information about the nginx-ru mailing list