Hi Henry Thanks for the inputs.
Here is some more additional information. The XML document is coming from a API Call to the Server. The XML document is in form of a DOM Tree. Can I set the -Djavax.xml.transform.TransformerFactory=org.apache.xalan.xsltc.trax.TransformerFactoryImpl in the same place as I set the other properties. (catalina.bat) Thanx again Raj Henry Zongaro wrote: > > Hi, Raj. > > Rajesh Jain <[EMAIL PROTECTED]> wrote on 2008-04-14 02:56:17 PM: >> We have a production system, which has hit performance issues in load. > The >> current configuration is below >> >> The CPU spikes to 95% usage at 30+ concurrent users trying to access web >> pages which are XSL rendered from XML. >> >> Are there any optimization techniques I need to go for (XPATH, Templates >> done) > > It's very difficult to give specific advice about optimization techniques > without knowing more about where your performance problems are coming > from. Yes, you should ensure that you're using Templates so that a > stylesheet is compiled just once. It's also usually better to reuse > Transformer objects if you can, rather than creating a new one from a > Templates object everytime. Where does the XML input come from? Does > every transformation involve parsing an input document or is the XML > presented in the form of a DOM tree or SAX events? If you're parsing > input documents each time, there are a variety of system properties that > you can set that might help if you're not reusing factory classes - > there's a lot of overhead involved in creating a new parser every time, > including time spent searching the class path for configuration files. > > -Dorg.apache.xerces.xni.parser.XMLParserConfiguration=org.apache.xerces.parsers.XIncludeAwareParserConfiguration > > -Djavax.xml.xpath.XPathFactory=org.apache.xpath.jaxp.XPathFactoryImpl > -Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl > > -Djavax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl > > > > You also mention XPath. Are you using one of the XPath APIs or are you > just speaking of the XPath expressions within your stylesheets? The XPath > APIs have their own performance challenges. > >> How to choose XSLTC as a transformer, I believe it uses XSLTC...but > would >> like to confirm. >> Are there any flags in the XSLT transformer to profile which sections > are >> taking more time > > There are a few ways of specifying the XSLT processor to use. One way is > to set the javax.xml.transform.TransformerFactory system property with the > value "org.apache.xalan.xsltc.trax.TransformerFactoryImpl". You should be > able to verify which XSLT implementation you're actually using by calling > the toString() method on a TransformerFactory, Templates or Transformer > object and logging that result. > > There aren't any specific flags in the either of the Xalan-Java processors > that will produce statistics about the amount of time spent in different > parts of the processing. Instead you'll have to use a general-purpose > Java profiling tool to investigate further. Please share any results if > you'd like some further advice. > > Thanks, > > Henry > ------------------------------------------------------------------ > Henry Zongaro > XML Transformation & Query Development > IBM Toronto Lab T/L 313-6044; Phone +1 905 413-6044 > mailto:[EMAIL PROTECTED] > > -- View this message in context: http://www.nabble.com/Performance-Issues-tp16687005p16707151.html Sent from the Xalan - J - Users mailing list archive at Nabble.com.