--

We're currently using Solaris2.6+Stronghold+ApacheJServ+GNUJSP to handle
a large e-commerce portal site, and we're currently getting abysmal
performance, especially under JDK 1.1.6 (We can't switch to JDK 1.2 yet,
which we know will be much faster, because the Oracle drivers don't work
with 1.2 - they tell us they will be available "in a few weeks"). At
this point, it takes the JVM about 1/3 CPU second to process a
transaction which updates the database. We need to get that down to
about 1/100th of a second.

We've been attempting to profile JServ using OptimizeIt; This program
reports that 1043 StringBuffer objects are being created for each HTTP
request (this test was done with a blank page). Some of those
StringBuffers are being created in our application, and some are created
by the JSP engine. However, it appears that a lot of the StringBuffers
are being created by JServ as it attempts to process all of the
environment variables and headers. This takes a lot of time, especially
considering that StringBuffer methods are mostly all synchronized.

This is especially a problem under Stronghold, which seems to create
about fifty SSL-related environment variables.

I've been thinking that one way to improve overall JServ performance
would be to filter out headers and environment variables that aren't
being used by the servlets. Since there's no way to tell which headers
would be needed for a given application, a new configuration directive
would be needed. I would suggest something like this:

ApJServExcludeEnvMatch  "SSL"

Each occurrence of the above directive would add a regex to mod_jserv
which would eliminate all environment variables matching the regex.



--
--------------------------------------------------------------
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
READ THE FAQ!!!!     <http://java.apache.org/faq/>
Archives and Other:  <http://java.apache.org/main/mail.html/>
Problems?:           [EMAIL PROTECTED]

Reply via email to