Apache reached MaxRequestWorkers, but nothing in access_log

apache-2.4

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.