Rasmus Lerdorf wrote: >>Hi Rasmus Lerdorf, >>you wrote. >> >>RL> libraries as well. We are going to have to fix a bunch of them and mutex >>RL> some others before Apache2 with a threaded MPM will be of any use with PHP >>RL> or mod_perl. >> >>Am I correct assuming that when they are mutex'ed that there will be >>one instance of XX_lib PER perchild process, right? So eventually, >>each domain will be able to serve one request at a time? >> >> > >If we end up having to mutex, sure, if every request for that domain needs >to access the mutxed library, then yes, you would only be able to serve up >one request at a time from that domain. > >
That's not accurate in general. The amount of serialization will depend on how much time you spend in mutexed operations in that library, relative to the entire request processing time. If the time spent in mutex-protected code is 1% of the total request processing time on an otherwise idle server, you'll see good concurrency as you add more requests. In contrast, if the time spent in mutex-protected code is 99% of the total request processing time, then the server will scale poorly. The key success factor is to not use libraries that require locking for lengthy operations. Brian