Jump to content
Sign in to follow this  

Apache2 MPM modules

Recommended Posts

The basis of my question is a steadily upgraded 2.2rca (Ubuntu 20.04, PHP 7.2, Apache 2.4.x) currently running using the default prefork MPM (Multi-Process-Module) module. MPM is what allows us to have more than one concurrent user at a time.

  • The prefork MPM module uses one thread for each and every process and is considered "thread safe". This takes a lot of memory as one thread consumes quite a bit of RAM, in the 3-4MB range for each thread.
  • The worker MPM module allows multiple child processes within one thread, this will allow for a great number of additional concurrent users compared to prefork in terms of RAM consumption.
  • Event MPM, similar to worker, I'll just leave it at that.

So I just started doing my research going from prefork --> worker and I through I'd check in here if anyone has any thoughts or experience around this. I realize each installation/configuration is different, of course. 

What it comes down to, from what I understand is whether or not OSC is thread safe or won't break in threading. Anyone know how to even proceed to test for this? 

Thanks in advance!



Edited by sapguy
Misc typos

Share this post

Link to post
Share on other sites

It's not osCommerce that needs to be thread safe but PHP.  See https://serverfault.com/questions/904065/switch-apache-from-prefork-to-event-in-ubuntu-16-get-php-7-working for more discussion.  Note in particular that it switches from mod_php to the fast CGI PHP to use MPM Event.  At this point, you should probably target Event over Worker.  Both require a thread-safe PHP with only thread-safe PHP modules. 

Always back up before making changes.

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this