We are trying to call a servlet that generates and returns an image over
SSL.
Apache is sitting in front doing the SSL, it then connects to
Jetty/Tomcat using AJP.
The performance we are getting is poor to say the least, any help to
increase the performance would
be much appreciated.

We are comparing the times
to the legacy system we are trying to replace which is written in python.

We are running the tests using jmeter, the test consist of hitting each
implementation
10 times with n threads. All test are over HTTPs, unless stated otherwise.

Here are the python results

Python
   Threads    times    Average MS   Deviation
   50         10       469          251
   100        10       590          341
   200        10       615          413

Here are the servlet results

Java System
   Threads    times    Average MS   Deviation
   50         20       5639         1227
   100        10       12304        2757
   200        10       31611        4998      (without HTTPS: AVE MS: 36
DEV 38)
   650        10       139000*       45000     (without HTTPS: AVE MS:
32 DEV 46)

When we turn off HTTPs the java system is literally thousands of times
faster. We've swapped out
jetty and replaced it with tomcat, the results were the same. There was
very little improvement when
we used mod_proxy instead of mod_jk.

Using just jetty by itself gives us the following results:

Java System
        Threads    times    Average MS   Deviation
        50         10       1463         1938

Which is better but still slow.

We really want to use Apache to handle the SSL, but it seems that there
is a huge problem when apache is
doing the SSL and getting Jetty/Tomcat to generate the dynamic content.

Attached are snippets from the conf files, interestingly setting
JkExtractSSL off or JkExtractSSL on makes
zero difference.

We are running Debian woody, jboss 3.2.1, (Jetty 4.2.9/Tomcat4.0.3),
Apache 13.26, mod_jk 3.3a

# workers.properties -
#

ps=/
worker.list=site-seal,loadbalancer

worker.localhost_siteseal.port=8011
worker.localhost_siteseal.host=localhost
worker.localhost_siteseal.type=ajp13
worker.localhost_siteseal.lbfactor=1

worker.site-seal.type=lb
worker.site-seal.balanced_workers=localhost_siteseal


worker.inprocess.cmd_line=start worker.inprocess.stdout=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stdout worker.inprocess.stderr=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stderr

# workers.properties ends

#
# snippet from httpd.conf
#
<IfModule mod_jk.c>
  JkWorkersFile /etc/apache/workers.properties
  include /etc/apache/mod_jk.conf
  JkLogFile /var/log/apache/mod_jk.log
  JkLogLevel debug
  JkMount /site-seal/*   site-seal
  JkExtractSSL off
</IfModule>
#
# httpd.conf ends
#




Thanks in advance for your help.

Rian





Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to