I'm having an issue with Apache 2.2.15 (CentOS 6.x x64) causing high memory load, to the point of consume 100% of an 8GB swap, and load averages >125. The VM is an Azure A2 VM (2 vCPU, 3.5GB RAM). This has worked wonderfully for quite some time, and my traffic hasn't changed much per WordPress stats. This server also hosts MySQL 5.5.43 x64, but that is under very low load. I'm also using Predis in conjunction with Azure Redis to cache [most of] the WordPress site. Lastly, I'm using mod_fcgid and php5_module (is this correct, or do I just need mod_fcgid?).
Things I've tried:
Moved from preform to worker MPM.
Changed the parameters for the worker MPM:
StartServers 3
MaxClients 150
MinSpareThreads 15
MaxSpareThreads 100
ThreadsPerChild 25
MaxRequestsPerChild 500
Reduce the # of loaded modules
Turn off KeepAlive (just tried this, so waiting for results, but it doesn't look hopeful)
Eventually the Apache processes simply use up all of the memory, then the swap.
Any further suggestions? FWIW, my WordPress site sees about 600 - 800 hits on a normal day, 1100 was my highest, but at that point in time I did not have any of these issues, while still using prefork.
EDIT: Found https://www.howtoforge.com/how-to-set-up-apache2-with-mod_fcgid-and-php5-on-centos-5.2 and followed that article, modifying php.conf. mod_php no longer appears in apachectl -t -D DUMP_MODULES.