Problems with Event MPM Performance Tuning in 2.4.18

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I have to deal with mod_cluster, and it is extremely memory hungry (in the GB range per process).  As mitigation, I’m trying to get down to a single apache worker process per host when we aren’t under heavy load.  That would save me about 6GB per host.

 

We have several hosts running the exact same thing behind a load balancer and I’ve never seen a crash, so I’m not concerned with running a single instance.  Running 4 20 thread instances is almost 4 times the memory of this one instance, for example.

 

 

This is the relevant portion of the configuration:

 

LoadModule mpm_event_module modules/mod_mpm_event.so

ServerLimit 8

StartServers 1

ThreadLimit 80

ThreadsPerChild 80

MaxRequestWorkers 640

MaxSpareThreads 120

MinSpareThreads 8

 

 

 

The top of mod-Status:

 

Apache Server Status for HOSTNAME (via 10.X.X.X)

Server Version: CUSTOMSTRING/2.4.18 (Unix) OpenSSL/1.0.1e-fips mod_cluster/1.3.1.Final

Server MPM: event

Server Built: Dec 16 2015 16:07:29

________________________________________

Current Time: Tuesday, 17-May-2016 14:37:00 EDT

Restart Time: Monday, 02-May-2016 09:36:16 EDT

Parent Server Config. Generation: 10

Parent Server MPM Generation: 9

Server uptime: 15 days 5 hours 44 seconds

Server load: 0.72 0.75 0.89

Total accesses: 39007867 - Total Traffic: 1.7 GB

CPU Usage: u2533.2 s168.49 cu0 cs0 - .206% CPU load

29.7 requests/sec - 1364 B/second - 45 B/request

5 requests currently being processed, 155 idle workers

PID         Connections       Threads                Async connections

                total       accepting             busy      idle         writing  keep-alive           closing 

11397    35           yes         2              78           0              33           0             

29323    26           yes         3              77           0              23           0             

Sum       61                          5              155         0              56           0             

................................................................

................________________________________________________

_______W____W___________________................................

................................................____________W___

______W__________________________________W______________________

................................................................

................................................................

................................................................

................................................................

................................................................

 

 

The idle threads here usually stays around the mid 150s.  These particular workers were started about 40 minutes apart, but I have the similar pattern showing in other regions with similar start times and the same workers being up for over a month.

 

Given the MaxSpareThreads 120, I would expect this to drop the second worker fairly quickly and work as described (https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxsparethreads).  But, that’s not happening and I'm stuck with two processes handling the load.  It's acting almost as if there is a "ServerMin 2" directive hard-coded or something.

 

This certainly looks like a bug (whether in the documentation or the code itself).  Any suggestions on how to get this to work before I submit a bug ticket?

 

 

 

Thank you,

 

Rick Houser


[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux