2014-01-27 102 views
0

不知道應該選擇哪種調查方式。 經過一段時間(接近4周),持續運行的Web應用程序運行緩慢。 檢查:Tomcat java web應用程序運行緩慢

catalina.out - no full gc. 

普通GC花費0.2秒附近和近10執行的一個時間 - 30秒。 在同一臺服務器上的另一個tomcat與Web應用程序運行良好。 所以問題不在主機上。 我真的很困惑。應該檢查什麼?

+0

堆是否增長? – NeplatnyUdaj

+0

共同號碼。根據提供的服務,年輕的gen增加和減少。老根附近80-90%不要清洗,不要增加。沒什麼不尋常的。 – user710818

回答

1

你可以使用一個visualvm來跟蹤你的tomcat性能,你必須添加JMX參數來允許你把你的tomcat連接到你的visualvm。

-Dcom.sun.management.jmxremote 
-Dcom.sun.management.jmxremote.authenticate=false 
-Dcom.sun.management.jmxremote.port=8484 
-Dcom.sun.management.jmxremote.ssl=false 

visualvm >>Threads標籤,你會看到在上面右角Thread Dump一個按鈕,這個按鈕生成一個名爲線程轉儲文件,該文件包含了目前住整個線程,產生多個線程轉儲並跟蹤你的應用程序線程,你會清楚地看到慢線程正在做什麼,這正是該方法造成的慢。

我希望這可以幫助你找到緩慢的根本原因。

+0

我試過這個。沒有發現任何問題。 – user710818

+0

你能告訴我你的JVM參數嗎? – Salah