XML/XSL TransformNode Problems

G

Guest

We just turned on a new website that runs on an XML/XSL templates that get transformed using various .Net objects. The final call is to the MSXML3 TransformNode function. Though the page loads as expected, when it is running the TransformNode function the CPU on the server (2 2Ghz processors hyperthreaded so the server sees 4...1gig of RAM) gets pegged at 100% utilization for about a second while it's generating the HTML. We've found that a server will only support about 10 people (~40 connections) at a time before it becomes almost unusable. When we tested without using the transformation the CPU acted as expected.

We're up to 5 servers to support this application now, but we have to find another solution than throwing hardware at it. Our President sees our 1 server that supports other websites not built around XML supporting 450 concurrent users and doesn't understand why we keep asking for more money.

The question is...is there another way we can transform the XML without having to rewrite the website so it doesn't use XML at all? We're open to writing objects in other languages (C#, C++, even Java/Perl if it would help).

Thanks for any help...
Joe Kraft
(e-mail address removed)
 
M

Martin Honnen

Joe said:
We just turned on a new website that runs on an XML/XSL templates
that get transformed using various .Net objects. The final call is
to the MSXML3 TransformNode function. Though the page loads as
expected, when it is running the TransformNode function the CPU on
the server (2 2Ghz processors hyperthreaded so the server sees
4...1gig of RAM) gets pegged at 100% utilization for about a second
while it's generating the HTML. We've found that a server will only
support about 10 people (~40 connections) at a time before it becomes
almost unusable. When we tested without using the transformation the
CPU acted as expected.

We're up to 5 servers to support this application now, but we have to
find another solution than throwing hardware at it. Our President
sees our 1 server that supports other websites not built around XML
supporting 450 concurrent users and doesn't understand why we keep
asking for more money.

The question is...is there another way we can transform the XML
without having to rewrite the website so it doesn't use XML at all?
We're open to writing objects in other languages (C#, C++, even
Java/Perl if it would help).

As you are asking in an ASP.NET news group I wonder why you are using
MSXML and not the classses in the .NET framework, have a look at the
classes in the namespace System.Xml.Xsl
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemXmlXsl.asp
there is no need to use MSXML to do XSLT 1.0 transformations in .NET as
..NET has all you need in managed code.
 
B

bruce barker

I'd replace the XSLT code with a managed language and use the XmlReader as
the parser. No need for a dom. I'd try this with simple page and compare
performance. Try DevPartner for doing performance analysis.

-- bruce (sqlwork.com)


Joe Kraft said:
We just turned on a new website that runs on an XML/XSL templates that get
transformed using various .Net objects. The final call is to the MSXML3
TransformNode function. Though the page loads as expected, when it is
running the TransformNode function the CPU on the server (2 2Ghz processors
hyperthreaded so the server sees 4...1gig of RAM) gets pegged at 100%
utilization for about a second while it's generating the HTML. We've found
that a server will only support about 10 people (~40 connections) at a time
before it becomes almost unusable. When we tested without using the
transformation the CPU acted as expected.
We're up to 5 servers to support this application now, but we have to find
another solution than throwing hardware at it. Our President sees our 1
server that supports other websites not built around XML supporting 450
concurrent users and doesn't understand why we keep asking for more money.
The question is...is there another way we can transform the XML without
having to rewrite the website so it doesn't use XML at all? We're open to
writing objects in other languages (C#, C++, even Java/Perl if it would
help).
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top