My Apache Server Scoreboard Status is as shown below when the "150 requests currently being processed, 0 idle workers" condition is hit.
--Log-trace---
Apache Server Status for localhost (via 127.0.0.1)
Server Version: Apache/2.4.18 (Ubuntu) OpenSSL/1.0.2g Server MPM: worker Server Built: 2020-08-12T21:35:50 __________________________________________________________________
Parent Server Config. Generation: 3 Parent Server MPM Generation: 2 Server uptime: 1 day 9 hours 19 minutes 58 seconds Server load: 0.85 0.93 1.04 Total accesses: 931102 - Total Traffic: 17.8 GB CPU Usage: u3289.89 s950.31 cu0 cs0 - 3.53% CPU load 7.76 requests/sec - 155.9 kB/second - 20.1 kB/request 150 requests currently being processed, 0 idle workers
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRWRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR RRRRRRRRRRRRRRRRRRRRRR
--Log trace-end--
Question) We use the Apache MPM module and below are the worker settings.
File: /etc/apache2/mods-enabled/worker.conf
ServerLimit 25 StartServers 2 ThreadLimit 64 MaxClients 150 MinSpareThreads 25 MaxSpareThreads 75 ThreadsPerChild 25 MaxRequestsPerChild 0 ListenBacklog 511We observed MaxClients is full (150) and this is a matter of concern and trying to find why MaxClient is becoming 150 on ad-hoc basis.
I verified the Application log (bitbucket) and no issue found in Java Application.
Now the question is how to debug this / find the Root cause , why the threads are in "Reading Request" status.
Below is the list of Loaded modules in the Ubuntu server.
Loaded Modules: core_module (static) so_module (static) watchdog_module (static) http_module (static) log_config_module (static) logio_module (static) version_module (static) unixd_module (static) access_compat_module (shared) alias_module (shared) auth_basic_module (shared) authn_core_module (shared) authn_file_module (shared) authz_core_module (shared) authz_groupfile_module (shared) authz_host_module (shared) authz_user_module (shared) autoindex_module (shared) cgid_module (shared) dav_module (shared) dav_fs_module (shared) deflate_module (shared) dir_module (shared) env_module (shared) filter_module (shared) headers_module (shared) mime_module (shared) negotiation_module (shared) proxy_module (shared) proxy_http_module (shared) reqtimeout_module (shared) rewrite_module (shared) setenvif_module (shared) mod_shib (shared) socache_shmcb_module (shared) ssl_module (shared) status_module (shared) mpm_worker_module (shared)
Seeking guidance in this regard to find why threads are reaching MaxClients (150) and threads are in "Reading request" status for ~ 22 Seconds.