Prefork requires a process per request whereas Worker only requires a thread per request. So say you've got 20 processes in prefork taking 100mb each. You can server 20 concurrent requests and its using 2gb of memory. Where as with worker mpm there will be say 4 processes each with 20-30 threads. Thats going to be 400mb and an ability to serve 80-120 requests concurrently.<p>If you do go the worker route, my advice is to use mod_fastcgi rather than mod_fcgid for performance and stability reasons. Also look around for the patch which fixes the timeout errors that sporadically occur.<p>Worker MPM is definitely the way to go when running apache, something that is overlooked because not many people are aware of it or how to configure it. Beyond that there is also event mpm which was experimental but is now stable I believe.