I have running system on centos + apache + mysql with "Bitrix" CMS (Russian local CMS).
Some times system goes CPU overload and apache log message "Max Client reached". After restartig httpd daemon CPU utilisation becomes OK. ab 20-30%. At first i think it was memory leaks. But then i reduce mysql memory and now i have ab. 2GB free RAM min.
My apache settings:
<IfModule mpm_prefork_module>
StartServers 32
MinSpareServers 32
MaxSpareServers 32
MaxClients 64
MaxRequestsPerChild 5000
</IfModule>
<IfModule worker.c>
StartServers 2
MaxClients 300
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 2500
</IfModule>
on my shame i did not realize difference between this modules. My system config: 16 GB RAM, 1 HTTPD procces eats 50-150MB, max users online 200-250 at one moment.
Why CPU goes overload when connections reaches maxclients value? What am i doing wrong? Thx!
htop when CPU overloads and MaxClients reaches some value