Совет, который я нашел в интернете, рекомендует рассчитывать ваш Apache MaxClients
на основе того, сколько оперативной памяти занимает ваш средний процесс Apache. Просто взглянув на top
, для моего сайта это, кажется, около 650 КБ. У меня 32 ГБ оперативной памяти, а MySQL использует около 20 ГБ. Если бы я дал Apache только половину оставшегося, 6 ГБ, то я мог бы предположительно обработать ~9231 процесс Apache.
Но каждый процесс Apache порождает процесс PHP, не так ли? А мой средний процесс PHP составляет около 40 МБ. Если я это учту, то получу около 147 процессов. Совершенно разные цифры. Может ли кто-нибудь пролить свет на этот вопрос?
решение1
Я полагаю, что процессы Apache со временем увеличиваются в размерах также и под влиянием других переменных.
Вам следует провести нагрузочный тест вашего сайта и посмотреть, что получится. Может быть, стоит также сохранить немного оперативной памяти для кэша/буферизации/запаса. Вы не хотите начинать подкачку.
Посмотрите это: https://loadimpact.com/
И это: http://junit.org/
Я уверен, что для этого есть масса других приложений/сервисов.
- РЕДАКТИРОВАНО
Если информация на этом сайте точна, то она поможет понять использование памяти Apache, а также обсуждает PHP и способы уменьшения использования им памяти.
https://www.digitalocean.com/community/tutorials/how-to-optimize-apache-web-server-performance