tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From fredk2 <fre...@gmail.com>
Subject Re: mod_jk --enable-prefork
Date Wed, 12 Sep 2007 03:27:54 GMT

Thanks,
So in this case reading some of your past responses (and your source
knowledge), we do not have to worry about threaded mod_jk misbehaving in a
prefork apache - on linux and solaris that is :-)

Rgds - Fred


Rainer Jung-3 wrote:
> 
> Hi Fred,
> 
> mostly yes, but you could write modules, that break this assumption. An 
> indication is mod_cgi, which exists as mod_cgi and mod_cgid. Another 
> hint into this direction is, that httpd doesn't provide a clean way of 
> exchanging MPMs after compilation.
> 
> In general it is better to compile the module against the MPM you want 
> to use unless you know the code of the module good enough to judge about 
> its MPM independancy.
> 
> Regards,
> 
> Rainer
> 
> fredk2 wrote:
>> Many thanks for your reply.
>> Is it always implied that if an apache module is deemed 'thread safe' it
>> also implies that it will work in "prefork" environment maybe at the cost
>> of
>> raw performance ?
>> 
>> Thanks again - Fred
>> 
>> 
>> Rainer Jung-3 wrote:
>>> fredk2 wrote:
>>>> Hi,
>>>>
>>>> The documentation for  mod_jk (eg. version 1.2.25) about
>>>> --enable-prefork 
>>>> says:
>>>>
>>>> "In case you build mod_jk for a multi-threaded Apache httpd 2.0/2.2 MPM
>>>> (Multi-Processing Module), some areas of mod_jk code need to be
>>>> synchronized
>>>> to make it thread-safe. Because configure can not easily detect,
>>>> whether
>>>> your are using a multi-threaded MPM, mod_jk by default is always build
>>>> thread-safe for Apache httpd 2.0/2.2. If you are sure, that your MPM is
>>>> not
>>>> multi-threaded, you can use "--enable-prefork" to force the removal of
>>>> the
>>>> synchronization code (thus increasing performance a bit). For instance,
>>>> the
>>>> prefork MPM is not multi-threaded. For Apache httpd 1.3 this flag will
>>>> be
>>>> set automatically."
>>>>
>>>>
>>>> If you specify apxs, doesn't it require a config_vars.mk which has a
>>>> value
>>>> pair MPM_NAME = prefork  and thus configure could know that prefork was
>>>> used?
>>>> Alternatively assuming that apxs is in the same directory then 'httpd
>>>> -V'
>>>> could tell that 
>>>> "Server MPM:     Prefork"
>>> You are right: "apxs -q MPM_NAME" would do the trick. I didn't find that 
>>> one, thanks. On the other hand, we would still need to manage a list of 
>>> MPMs (which MPM on which platform is single-threaded) and there is some 
>>> danger, that people have more than one mpm installed (like on many linux 
>>> distros) and compile against prefork, later use against worker. All in 
>>> all I'm still in favor of building thread safe by default and only when 
>>> explicitely requested removing the thread synchronization.
>>>
>>>> The question I have: if the Apache httpd v2.2 is prefork and the mod_jk
>>>> is
>>>> compiled "default threaded", are there any potential instabilities? (on
>>>> Solaris and Linux)
>>> No, not that we aware of any. On both platforms, the default was 
>>> building thread safe for a long time. We use pthread mutexes and no 
>>> problems have been reported with those.
>>>
>>>> Many thanks - Fred
>>> Regards,
>>>
>>> Rainer
> 
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/mod_jk---enable-prefork-tf4417291.html#a12628071
Sent from the Tomcat - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message