我在centos + apache + mysql上运行系统" Bitrix" CMS(俄罗斯本地CMS)。
有时系统会出现CPU过载和apache日志消息" Max Client达到"。在restartig httpd后台程序CPU利用率变为OK。 ab 20-30%。 起初我认为这是内存泄漏。但后来我减少了mysql内存,现在我有了ab。最低2GB可用内存。
我的apache设置:
<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>
在我的耻辱上,我没有意识到这些模块之间的区别。 我的系统配置:16 GB RAM,1 HTTPD procces吃50-150MB,最大用户在线200-250。
当连接达到maxclients值时,为什么CPU会过载? 我究竟做错了什么? THX!
当CPU过载并且MaxClients达到某个值时,htop