PTT 簡介
WebSphere Application Server Performance Tuning Toolkit(簡稱 PTT)是一款輕量級的基於 eclipse 的客戶端軟件。啟動後的界面如下圖 1 所示,
其中,Hosts view 用於創建到 Dmgr(網絡部署版)或者 Server(Base 版 ) 的 Soap 連接,連接後系統的拓撲結構會顯示在 Topology view 里,Main Area 主要用來顯示監控信息,包括主監控面板,每個 Server 的圖形化監控頁面和詳細數據信息等。Tuning Parameters View 和 Scripts View 主要用於性能調優。Tuning Parameters View 用於察看和修改每個服務器的性能參數,比如 JVM 的最大堆大小、垃圾回收策略,各種容器和線程池的大小,HTTP 連接相關設置等。Tuning Parameters View 可以方便得調整 Server 級別的性能參數,尤其是批量調整,但對於很多比較複雜的調優參數,比如 DB 和 JMS 連接池等,則需要通過遠程執行 Wsadmin 腳本來優化。
圖 1. 工具開始界面

性能監控
PTT 的主要功能分為性能監控和性能調優兩大部分。性能監控模塊主要通過 JMX 從服務器端收集性能數據,然後在本地進行分析,並通過友好的方式展示給用戶。和其他的監控工具(比如 TPV)相比,PTT 提供了更加友好和清晰的展示方式。
尤其是對於拓撲結構比較複雜的環境,PTT 試圖讓用戶在一個面板就可以監控系統的全貌,這個面板我們稱之為主監控面板。當用戶通過 soap 端口連接到 dmgr 時,主監控面板也隨之打開,在這個面板上,我們可以看到所有服務器的主要性能指標和關鍵參數,
包括性能數據(Servlet 的吞吐率和響應時間,JDBC 的吞吐率和響應時間),錯誤統計
(Servlet 錯誤,JDBC 超時,JCA 連接錯誤,線程阻塞,事務超時和回滾等),系統狀態
(Session 個數,CPU 和堆內存的使用率)以及用戶自定義警告等。當系統監測到某些指標異常時(比如發生錯誤或者性能下降等)就會把相應的性能參數在主監控面板中標紅,同時會在旁邊增加一個警告標記,由於主監控面板只反映系統最近的狀態信息,因此很可能某些非正常的性能指標在下一個監控周期內會恢復正常,這時候數據的顏色會恢復成黑色,但是警告標記會一直存在,直到我們手動清除它,這樣我們就能清楚地知道哪些數據曾經發生過問題。
圖 2. 主監控面板

圖 3. 監控數據

PTT 對問題的監測主要是通過規則引擎來完成的。規則引擎允許用戶通過自定義規則去檢測系統的健康狀況,默認的規則文件包含了常用的健康標準,但用戶可以根據應用本身的特點修改現有規則或者創建新的規則,一般來說,對應用的了解越深,就越容易制定出精確和有效的規則,從而在主監控面板中捕獲更多潛在的問題。我們將會在後續系列文章中詳細介紹如何創建自定義規則。
圖 4. 性能數據處理

圖 5. 規則編輯器

主監控面板可以幫助我們捕獲絕大多數錯誤信息,但是還不足以對問題本身進行深入分析,通常我們還需要查看更詳細的數據,雙擊發生問題的服務器對應的監控表單,可以進入這個服務器的圖形化監控頁面,這個頁面中不但包括了更多的性能數據,還可以展示一段時間內數據的變化,對於很多趨勢性的問題而言,這裡提供了比較好的分析方法。圖形化監控頁面的每個點都是一段時間內的統計結果,這個統計時間間隔的長短是可以手動調節的,我們稱之為分析時間間隔,默認情況下,分析時間間隔和數據收集的時間間隔相同(後者可以在 preference 面板中設置),但有時候為了讓曲線變的更加平滑,我們需要動態增加分析時間間隔的長度,分析時間間隔可以在任何時候動態的進行調整,但是它只能調整為數據收集時間間隔的倍數。此外,你還可以通過設置隱藏某些不需要關心的曲線,從而更容易地通過曲線圖之間的對比找到問題的端倪。
圖 6. 自定義顯示設置

圖 7. 修改時間間隔

在圖形化監控界面中,把鼠標懸停在某一個點上,可以查看這個點的當前值,
如果需要了解某個數據點的詳細的信息,則可以用鼠標單擊這個數據點,頁面會跳轉到詳細數據頁面,並且選中當前數據點所對應的數據。例如,在圖形化監控頁面中,Servlet 響應時間為所有 Servlet 響應時間的平均值,當我們用鼠標單擊其中的某一個點時,系統會跳轉到詳細數據頁面,在這個頁面中,我們可以查看這個點所對應的每一個單獨的 Servlet 的響應時間,吞吐率和並發度等信息。不同的 Servlet 會根據它們對結果的貢獻度不同,分別標成紅色,黃色,綠色和灰色。從下圖中可以看到,TradeAppServlet( 紅色 ) 對性能變化的貢獻最大,因此可以進行重點分析。
圖 8. Servlet 響應時間頁面

通過“主監控面板—圖形化監控頁面—詳細數據頁面“這三級監控視圖,
用戶既可以從整體上監控系統狀態並捕捉異常信息,又可以層層深入進行問題定位。此外,如果想比較系統的了解整個系統的狀況,也可以通過“Generate Report” 菜單生成報表,報表中的數據不如數據頁面詳細,但卻包含了大多數統計信息。對於定位系統級問題比較有用。後續系列文章將對三級監控界面和報表的使用進行詳細闡述。
圖 9. 生成報表

問題定位與性能調優
一般來說,定位問題是解決問題的第一步,也是最重要的一步;一旦問題被定位出來,我們就可以進一步收集數據並進行問題診斷了。故障診斷中經常用到的信息主要包括 Trace 和 Dump 兩大類,Trace 主要記錄系統狀態在一段時間內的變化;而 Dump 則是系統在某一個時間點上的快照,Dump 中的信息通常更為詳細,但卻不能反映這一時刻之前和之後的系統狀態的變化。PTT 可以幫助用戶快速生成 Dump 或者啟用 Trace,
在 Topology 視圖中,用鼠標右鍵單
以下文章點擊率最高
Loading…