Проблема при >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