Apache MPM: prefork vs event (and why PHP-FPM changes the answer)

apachephp-fpmhostingops

The “best” MPM changed once PHP-FPM became standard. With mod_php, prefork was the default; with PHP-FPM, event is usually the better default for concurrency. This guide explains why.

The core constraint

Quick comparison

MPMBest withProsConsWhen to choose
preforkmod_phpSimple modelHigher memoryLegacy mod_php stacks
eventPHP-FPMBetter concurrencyMore moving partsMost modern WordPress stacks

Rule of thumb

FAQ

How do I check which MPM I’m using?
Run apache2ctl -V and look at Server MPM. On Debian/Ubuntu you may need to enable the desired MPM module and restart Apache.

If I switch MPM, what do I need to do?
Enable the new MPM, disable the old one, run apachectl configtest, then restart Apache. See Apache graceful reload vs restart for reload vs full restart.