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


Reply via email to