Apache2 seems busy
I have an Ubuntu 14.04.4 LTS
server running Apache/2.4.7
and my error.log
file is frequently getting this kind of message below:
[Thu Sep 01 19:45:40.571637 2016] [mpm_prefork:info] [pid 1696] AH00162: server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers), spawning 8 children, there are 3 idle, and 17 total children
[Thu Sep 01 19:47:03.699939 2016] [mpm_prefork:info] [pid 1696] AH00162: server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers), spawning 8 children, there are 4 idle, and 17 total children
[Thu Sep 01 19:48:35.856132 2016] [mpm_prefork:info] [pid 1696] AH00162: server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers), spawning 8 children, there are 2 idle, and 20 total children
I've already changed my apache2.conf
and it looks like the following:
# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# MaxRequestWorkers: maximum number of server processes allowed to start (was: MaxClients)
# MaxConnectionsPerChild: maximum number of requests a server process serves (was: MaxRequestsPerChild)
<IfModule mpm_prefork_module>
StartServers 100
MinSpareServers 30
MaxSpareServers 60
ServerLimit 400
MaxRequestWorkers 400
MaxConnectionsPerChild 10000
</IfModule>
After restarting apache2, errors still remains the same.
My server isn't running out of memory neither CPU usage (htop
output looks pretty fine).
Also, I got those results when executing netstat
and ps
:
ubuntu@php-app1:~$ sudo netstat -pant | grep -c ESTABLISHED
18
ubuntu@php-app1:~$ ps -ef | grep -ic apache2
17
Any help, please? Thanks a lot for your patience and support.
The logs and shell output are not consistent with that apache configuration being in effect. The directive
MinSpareServers 30
would mean that there were always at least 30 apache children running at a time and as long as that number is larger than the number that needs to get spawned, that error message won't appear.
Confirm that the config file being edited is in fact the one in use by the apache, try for instance
httpd -t -D DUMP_INCLUDES
or check for the use of a -f parameter, specifying a different parent configuration file.