You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Marc Richards <mj...@yahoo.com> on 2005/12/09 19:55:12 UTC

Connecting Tomcat and Apache using mod_jk and jni (deprecated?) or ajp13

I have Apache 2.x and Tomcat 5.5 connected using
mod_jk ajp13 workers (win32) and running fine. 
However, under heavy load (using jmeter) I start to
get mod_jk errors indicating that the connection is
closed and is unable to be reopened.  This essentially
results in a dead server for a while.

The question regarding this is two-part:

1.  All connector docs indicate that a jni worker can
be defined that will allow Tomcat to be run under the
Apache memory space and enhance communications between
the two without using sockets.  This sounds great, but
the bugzilla report
(http://issues.apache.org/bugzilla/show_bug.cgi?id=35378#c2)
indicates that the jni worker has been deprecated for
some time.  The docs don't say anything about this and
the change log shows nothing, yet it appears to be
true.  Why is the jni worker deprecated and in favor
of what?  Is ajp13 the better route to go then (the
method that I'm already using)?  Is there another
method of running Tomcat and Apache under one memory
allocation?

2.  If I am to remain using ajp13 then I need to solve
my communication problem between Apache and Tomcat. 
The docs explain a bit about the various configuration
options, but it seems apparent that the author speaks
English as a second language and I'm not quite clear
on how to go about ensuring that I have an ideal
configuration.  Any specific tips on this?

For reference, my site is running on multiple,
balanced Win 2003 servers, I have around 9000 users
and peak at about 200 concurrent users.  I beging to
experience jmeter troubles only a few minutes into a
test configured for 75 concurrent users, so I have a
long way to go before I'm production-ready (this is a
new hardware config replacing a legacy site).  I'm ok
with expanding my farm if needed, but feel that I
should be able to drive my servers harder than I have
been able to before ajp fails.  Anybody have any help
on this?

Thanks,

-marc






__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

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


Re: Connecting Tomcat and Apache using mod_jk and jni (deprecated?) or ajp13

Posted by Marc Richards <mj...@yahoo.com>.
"JNI requires that you use mod_jk2 (or Tomcat 3.3.x
> :)"

I noticed this too, but was trying to stay away from
jk2 because it's no longer being developed.

"Patches to improve the documentation are always
> welcome ;-)"

Heh, heh.  Tell you what, if I ever get this figured
out completely and truely understand what I'm doing I
promise to spend some time contributing to the docs! 
;-)

Thanks for the tips - I'll try them out and keep my
fingers crossed.

-marc



--- Bill Barker <wb...@wilshire.com> wrote:

> 
> "Marc Richards" <mj...@yahoo.com> wrote in message 
>
news:20051209185512.4022.qmail@web50304.mail.yahoo.com...
> >I have Apache 2.x and Tomcat 5.5 connected using
> > mod_jk ajp13 workers (win32) and running fine.
> > However, under heavy load (using jmeter) I start
> to
> > get mod_jk errors indicating that the connection
> is
> > closed and is unable to be reopened.  This
> essentially
> > results in a dead server for a while.
> >
> > The question regarding this is two-part:
> >
> > 1.  All connector docs indicate that a jni worker
> can
> > be defined that will allow Tomcat to be run under
> the
> > Apache memory space and enhance communications
> between
> > the two without using sockets.  This sounds great,
> but
> > the bugzilla report
> >
>
(http://issues.apache.org/bugzilla/show_bug.cgi?id=35378#c2)
> > indicates that the jni worker has been deprecated
> for
> > some time.  The docs don't say anything about this
> and
> > the change log shows nothing, yet it appears to be
> > true.  Why is the jni worker deprecated and in
> favor
> > of what?  Is ajp13 the better route to go then
> (the
> > method that I'm already using)?  Is there another
> > method of running Tomcat and Apache under one
> memory
> > allocation?
> >
> 
> JNI requires that you use mod_jk2 (or Tomcat 3.3.x
> :).  There hasn't been a 
> lot of interest in back-porting it to mod_jk, since
> it only really works 
> well on Windows and Netware.  With mod_jk, currently
> the only option is to 
> use Sockets.
> 
> > 2.  If I am to remain using ajp13 then I need to
> solve
> > my communication problem between Apache and
> Tomcat.
> > The docs explain a bit about the various
> configuration
> > options, but it seems apparent that the author
> speaks
> > English as a second language and I'm not quite
> clear
> > on how to go about ensuring that I have an ideal
> > configuration.  Any specific tips on this?
> >
> 
> As it happens, most of the mod_jk developers speak
> do English as a second 
> language :).
> 
> Patches to improve the documentation are always
> welcome ;-).
> 
> > For reference, my site is running on multiple,
> > balanced Win 2003 servers, I have around 9000
> users
> > and peak at about 200 concurrent users.  I beging
> to
> > experience jmeter troubles only a few minutes into
> a
> > test configured for 75 concurrent users, so I have
> a
> > long way to go before I'm production-ready (this
> is a
> > new hardware config replacing a legacy site).  I'm
> ok
> > with expanding my farm if needed, but feel that I
> > should be able to drive my servers harder than I
> have
> > been able to before ajp fails.  Anybody have any
> help
> > on this?
> >
> 
> It looks like you have your maxThreads setting too
> low on the <Connector> 
> element.  (e.g. you are using the default setting). 
> In general, you need to 
> have maxThreads >= ThreadPerChild (from httpd.conf).
>  On a Windows box, this 
> is usually all you need to get running.  Depending
> on your load patterns, 
> you can tweak minSpareThreads and maxSpareThreads to
> possibly get a slight 
> performance improvement.
> 
> > Thanks,
> >
> > -marc
> >
> >
> >
> >
> >
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Tired of spam?  Yahoo! Mail has the best spam
> protection around
> > http://mail.yahoo.com 
> 
> 
> 
> 
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail:
> users-help@tomcat.apache.org
> 
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

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


Re: Connecting Tomcat and Apache using mod_jk and jni (deprecated?) or ajp13

Posted by Bill Barker <wb...@wilshire.com>.
"Marc Richards" <mj...@yahoo.com> wrote in message 
news:20051209185512.4022.qmail@web50304.mail.yahoo.com...
>I have Apache 2.x and Tomcat 5.5 connected using
> mod_jk ajp13 workers (win32) and running fine.
> However, under heavy load (using jmeter) I start to
> get mod_jk errors indicating that the connection is
> closed and is unable to be reopened.  This essentially
> results in a dead server for a while.
>
> The question regarding this is two-part:
>
> 1.  All connector docs indicate that a jni worker can
> be defined that will allow Tomcat to be run under the
> Apache memory space and enhance communications between
> the two without using sockets.  This sounds great, but
> the bugzilla report
> (http://issues.apache.org/bugzilla/show_bug.cgi?id=35378#c2)
> indicates that the jni worker has been deprecated for
> some time.  The docs don't say anything about this and
> the change log shows nothing, yet it appears to be
> true.  Why is the jni worker deprecated and in favor
> of what?  Is ajp13 the better route to go then (the
> method that I'm already using)?  Is there another
> method of running Tomcat and Apache under one memory
> allocation?
>

JNI requires that you use mod_jk2 (or Tomcat 3.3.x :).  There hasn't been a 
lot of interest in back-porting it to mod_jk, since it only really works 
well on Windows and Netware.  With mod_jk, currently the only option is to 
use Sockets.

> 2.  If I am to remain using ajp13 then I need to solve
> my communication problem between Apache and Tomcat.
> The docs explain a bit about the various configuration
> options, but it seems apparent that the author speaks
> English as a second language and I'm not quite clear
> on how to go about ensuring that I have an ideal
> configuration.  Any specific tips on this?
>

As it happens, most of the mod_jk developers speak do English as a second 
language :).

Patches to improve the documentation are always welcome ;-).

> For reference, my site is running on multiple,
> balanced Win 2003 servers, I have around 9000 users
> and peak at about 200 concurrent users.  I beging to
> experience jmeter troubles only a few minutes into a
> test configured for 75 concurrent users, so I have a
> long way to go before I'm production-ready (this is a
> new hardware config replacing a legacy site).  I'm ok
> with expanding my farm if needed, but feel that I
> should be able to drive my servers harder than I have
> been able to before ajp fails.  Anybody have any help
> on this?
>

It looks like you have your maxThreads setting too low on the <Connector> 
element.  (e.g. you are using the default setting).  In general, you need to 
have maxThreads >= ThreadPerChild (from httpd.conf).  On a Windows box, this 
is usually all you need to get running.  Depending on your load patterns, 
you can tweak minSpareThreads and maxSpareThreads to possibly get a slight 
performance improvement.

> Thanks,
>
> -marc
>
>
>
>
>
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com 




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