2012-07-09 103 views
0

我們有一個運行在Apache-tomcat服務器上的Java EE應用程序(jsp/servlet,jdbc)。響應時間隨着時間減慢。在繼續工作時,它會以更快的速度減速。性能---響應時間變慢

響應時間是服務器重啓後恢復正常。

我的JConsole連接到服務器,我附上堆內存使用量,做深入細緻的工作和垃圾收集器定期揭開序幕和內存使用情況歸結時上升的屏幕截圖。 但是,當朝着最後測試時,儘管手動啓動垃圾回收器,響應時間不會減少。我 我也檢查了連接,他們似乎正常關閉。即我沒有注意到任何zcx Heap memory usage

任何幫助表示讚賞。

+0

你檢查的資源,這可能不是在泳池 - 這還沒有被釋放等你有沒有定時測試各種操作,也許的Perf4或指標,長壽命的對象,外部資源來檢查放緩實際上正在哪裏地方 – 2012-07-09 23:40:51

+0

我看了一些被加載的資源,他們從來沒有卸載,例如一些DAO類,這是否說什麼? – user546352 2012-07-10 01:35:39

回答

0

與安裝在JDK jvisualvm。它可以讓你剖析Tomcat並找出時間。

我的猜測,現在是與數據庫的連接。要麼他們陳舊或泳池乾燥。

+0

謝謝你使用這個工具,它效果很好。現在我必須確定如何解決這些問題:( – user546352 2012-08-01 01:43:57

0

響應時間慢多少?你有沒有做過任何分析或日誌記錄來幫助你知道你的應用的哪些部分比較慢?設置一個簡單的servlet可能會很有用,看看這個servlet是否也會像其他的那樣變慢。這可能會告訴你,如果Tomcat或您的應用程序中的東西放緩。

+0

最壞情況的響應時間增加3-5倍。重點在於完成大部分核心工作的主要servlet之一,並且是一個高頻servlet並具有傳統。 我如何知道Tomcat是否有問題? – user546352 2012-07-10 01:29:30

0

你是否優化了你的tomcat內存設置?也許你需要增加燙髮的大小。 例如-XX:MaxPermSize參數= 512M

你可以知道它肯定如果你能得到一個堆轉儲並加載到像MemoryAnalyzer的工具。

+0

燙髮代碼大小設置爲512M,加載的類總數仍然很高,這是否表示什麼?我將啓用堆轉儲。 – user546352 2012-07-10 01:50:23