I've been developing/testing/staging with Apache 1.3.14 / mod_jk / Tomcat
3.2.1 for the last
several months (started with Tomcat 3.1 and upgraded to 3.2.1 soon after
its release).
I had not seen any performance problems (of course!) until I hit production
and saw my CPU
utilization go through the roof and my app's response time slow to a
crawl. After cruising
through the mailing list archives, I tried using mod_jk as a handler
(instead of a filter) and
tried upgrading to JDK1.3 from JDK1.2. Neither of these gave much of a
performance
increase.
The one thing that gave me a dramatic increase in speed was to change my
JkMount
directives to use AJP12 workers instead of AJP13. Using the Apache
benchmark tool (ab), I saw
an increase of 5-fold or more for the number of requests per second I could
handle.
Does this surprise anyone out there? I saw advice for speeding mod_jk, but
did not come
across using AJP12 instead of AJP13. In addition to a increased rate of
requests per second,
my application server hardware also seems to be spending less cycles on
individual
httpd processes as well as the Java process which owns the running Tomcat.
Particulars:
+ Solaris 2.6
+ Apache 1.3.14
+ Tomcat 3.2.1 binary drop
+ mod_jk compiled as shared object from Tomcat 3.2.1 source
-mahaffey