Join 1M+ other developers and:
- Get help and share knowledge in Q&A
- Subscribe to topics of interest
- Get courses & tools that help you grow as a developer or small business owner
Apache causing massive load spike after reboot
My server is running Ubuntu 18.04.5 LTS, with LAMP stack (PHP 7.4), and apache version 2.4.29 using Prefork MPM. My server has 16 CPUs and 29GB of RAM. This server hosts 258 websites.
Whenever I reboot my server, I notice (using top command) that apache is creating a crazy amount of processes. This is completely overloading the server. This ONLY happens when I reboot the server, or I manually stop apache (service apache2 stop) and then start apache (service apache2 start).
Normally this is the output of top (during normal hours):
After rebooting or stopping and starting apache manually, the load average climbs to over 126.4! It slowly (over about 10-15 minutes) goes back to normal. For the first 5 minutes after rebooting or stopping and starting apache, the load just steadily climbs until it gets to about 126-130.
Here is my MPM configuration (/etc/apache2/mods-enabled/mpm_prefork.conf):
Also KeepAlive is ON, MaxKeepAliveRequests is 100, and KeepAliveTimeout is 2.
What is very strange, is I made an exact copy of the server, and placed a handful of sites (6 websites) on the copy, and when I reboot, or start and stop apache on this copy server, this behavior does not happen. This is an EXACT copy of the server mentioned above, it is just only hosting 6 websites (WAY less traffic) instead of 258.
Could this problem be caused by too many client connections waiting on apache to respond during reboot, and when apache server finally comes back up it floods apache with connections?
Would increasing the values in my MPM configuration possibly help this? I’ve checked logs, and I never go over MaxRequestWorkers.
It has been suggested that I move from mpmprefork to php-fpm and modevent but for certain reasons this is not practical for me. I need to keep mpm_prefork.
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.×