FastNetMon

Saturday 13 November 2010

Тюнинг Apache (Prefork) MaxClients на OpenVZ VPS

Имеем работающий хотя бы минут 15-20 VPS с отключенным Апачем:
free
total used free shared buffers cached
Mem: 409600 62588 347012 0 0 0
-/+ buffers/cache: 62588 347012
Swap: 0 0 0

Запускаем Апача:
/etc/init.d/apache2 start

Дерагем несколько страниц сайта и смотрим данные free повторно:
free
total used free shared buffers cached
Mem: 409600 81100 328500 0 0 0
-/+ buffers/cache: 81100 328500
Swap: 0 0 0

Теперь считаем число обработчиков Апача:
ps aux | grep apa | wc -l
6

Далее производим расчет памяти, занимаемой одним процессом Апача (делаим на 5, а не на 6, потому что 1 процесс Апача является родительским и обработку сайтов не осуществляет):
perl -e ' print scalar (81100-62588)/5/1024'
3.615625

То есть, около 4 мегабайт на один процесс. Это крайне примерный метод, так что стоит заложить в него +5 мегабайта еще, то есть взять где-то 8-9 мегабайт на процесс. Более точные измерения можно провести вот так: http://phpsuxx.blogspot.com/2010/04/blog-post_9092.html

Теперь берем объем свободной памяти до старта Апача (347012) и делим его на память, занимаемую 1 тушкой Апача:
perl -e '347/9'
38.5555555555556

Итого, ставим MaxClients у Апача в 35 и живем спокойно.

No comments :

Post a Comment

Note: only a member of this blog may post a comment.