Hi, I'm pulling my hair out (what remains), with performance issues with XSLTCompiledTransform in our live environments. Locally on developer machines and UAT the problem is slightly noticeable, however in the live environment performance can become agonisingly slow.
Background: HTTPModule delivering the website (processModel extended to allow more threads and IO threads). The request is processed (with other static caches etc. this normally comprises of less than 30% of the execution time), and generates the XML to be rendered the subsequent render then takes longer than all the checks, database calls and business logic - even for XML running at only a hundred lines and few nodes.
The XSLTCompiledTransforms are cached within a static object based against resource pathway (some XSLT files are compiled, some are available on site), but the transform method is exceptionally slow. So much so that it's taking approximately twice the length of time than the same XML / XSLT transformation in traditional ASP. This even occurs under low CPU load.
Is there queuing going on? Should we attempt to clone loaded XSLTCompiledTransform objects rather than using the first created in each instance?
All thoughts and suggestions welcome, this has become a complete headache.