tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Edwards, Peter" <Peter.Edwa...@astrazeneca.com>
Subject Xalan and Tomcat - installation and performance issues
Date Fri, 16 Feb 2001 14:19:17 GMT
I hope no-one minds me cross-posting this but it covers all areas.

I have had success using Xalan2 in a servlet on Tomcat3.2 and also found
some major performance problems. I thought it would be useful for people to
be aware of these problems and I would value any comments/suggestions.

First, I hit the well-known problem of clashing XML parsers. I solved this
by removing jaxp.jar and parser.jar from the tomcat\lib directory and
inserted xerces,jar in their place. This does not work on Tomcat3.1 since it
directly uses xml.jar - you have to add xerces to the classpath of the
server startup before the other jars.

I was then able to create a simple servlet using Xalan2 to perform a
transformation (using Transformer). I'm using JDK1.3, NT4 running on 600MHz
P3 with 256Mb RAM. The performance was appalling so I did a number of tests
with the following code:

    TransformerFactory tFactory = TransformerFactory.newInstance();	//
step1

    StreamSource style = new StreamSource(xsl);				//
step2
    StreamSource source = new StreamSource(xml);
    StreamResult res = new StreamResult(out);

    Transformer transformer = tFactory.newTransformer(style);		//
step3

    transformer.transform(source, res);					//
step4

Command line usage:
    Step1 - 280ms
    Step2 - 20ms
    Step3 - 3946ms
    Step4 - 531ms

Servlet in Tomcat 3.2.1
    Step1 - 2954ms
    Step2 - 421ms
    Step3 - 46266ms
    Step4 - 8442ms

As you can see, the performance degraded by about 10 times. I got around
this by going against everything I believed about  where to place libs in
tomcat and loaded all jars in the server startup script. The problem goes
away.

I believe this is a problem with class loading on Tomcat.

Pete Edwards

Mime
View raw message