This is in Apache error_log:
[Thu Nov 17 17:08:22.935022 2016] [mpm_event:error] [pid 27241:tid 139681776355296] AH00484: server reached MaxRequestWorkers setting, consider raising the MaxRequestWorkers setting
And in access_log there is nothing between 16:41 and 17:21.
Also, Server Density shows at 17:08 (same time as Apache error_log)
– Load Average: 34
– php-cgi (nobody) Processes: 87
– php-cgi (nobody) CPU: 140%
How is it possible that apache says reached MaxRequestWorkers and there is nothing in its access_log around that time?
Notes:
- I run some crons but they show up as a user (so not as "nobody") and they run in php cli (so not via apache)
- In htop, "nobody" usually has /usr/sbin/httpd
- Centos 6, WHM cPanel, Apache 2.4
Best Answer
It's an expected behavior. All your httpd processes/threads were doing some long-running php tasks to serve multiple user sessions. Once the limit MaxRequestWorkers was reached, no more requests were served. An entry appears in the access_log after the request completes with some status, such as normal (200) or timeout (502). Hence if no new request is completed, there are no lines in the access_log, even if many browsers were trying to connect all the time.