2014-09-03 65 views
0

我們注意到我們的Web應用程序中Tomcat 7和Websphere 6之間的性能差異很大。這兩個Web容器中部署了相同的war文件。 Websphere中的瓶頸是編譯樣式表時(在日誌中顯示爲「XL TXE-J編譯樣式表:jstl」)。 Websphere需要大約2到3秒,Tomcat需要幾個毫秒。答案將幫助我們確定下一步修復慢速XML代碼的方法。提前致謝!Tomcat 7和Websphere v8.5使用哪些庫來編譯xslt?

回答

0

您可以通過調用system-property('xsl:vendor')來了解XSLT處理器的使用情況。在任何複雜環境下這是一個好主意,使這一標準的做法,像

<xsl:comment>Transformed using <xsl:value-of 
       select="system-property('xsl:vendor')"/></xsl:comment> 

添加一些信息輸出到您的結果文檔。

對於您的應用程序來說,它對使用的XSLT處理器有點挑剔也是一個好主意。不要只考慮JAXP機制在類路徑中發現的任何東西,加載應用程序實際上已經過測試的XSLT處理器。

我會懷疑您看到的性能差異並非完全由加載不同的XSLT引擎引起的,而是由樣式表或其他資源的緩存等其他因素引起的。

+0

謝謝@ michael-kay。奇蹟般有效! :) – 2014-09-04 01:18:04

+0

作爲一個利益的問題,是兩個使用不同處理器的環境? – 2014-09-04 08:40:48

+0

是的。在工作區上使用Tomcat作爲開發測試環境。 Websphere部署在測試服務器上。由於許可限制,無法在我的開發計算機上使用Websphere。希望他們會以同樣的方式行事,因爲他們都應該符合servlet規範,並且他們運行相同的JDK版本。事實證明,IBM JDK 1.7和Oracle JDK 1.7的行爲有所不同。順便說一句,我也發現我們已經在使用Websphere 8.5。我爲那些將閱讀這篇文章的人更新了這個問題。 – 2014-09-09 06:36:32

相關問題