WebSphere® Application Server Performance Tuning Toolkit 是一款基於 Eclipse 的智能工具,旨在幫助用戶通過使用數據收集、數據分析和統計數據推斷技術來調優 WebSphere Application Server 的性能。其目的是幫助用戶查找瓶頸,並適當調優應用程序。
背景知識
隨着基於 Java EE 的企業級多層架構應用程序的大範圍部署,出現得越來越多的性能問題,而且難以診斷。多層架構使得性能問題難以定位,而且要花費更多的時間和精力來調查和定位性能瓶頸。而且性能問題所造成的後果可能會很嚴重。
爲了能讓 WebSphere Application Server 應用程序能力發揮到最大,監控和調優性能就顯得尤爲重要。WebSphere Application Server Performance Tuning Toolkit 能幫助您完成這一項任務。
概述
WebSphere Application Server Performance Tuning Toolkit (PTT) 是一款基於 Eclipse 的智能工具,旨在幫助用戶通過使用數據分析和統計數據推斷技術來監控和查找性能瓶頸。該工具通過 JMX,從 WebSphere Application Server 的 PMI (Performance Monitoring Interface,性能監控界面)收集性能數據,然後向用戶顯示一張通俗易懂的圖片,其中有一些圖表和表格以定位瓶頸並對其進行適當的調優。
與其他工具相比,該工具的主要特點是提供了一個動態框架,能讓用戶定義適合其系統的規則,從而大大增加了性能問題檢測和診斷的準確性。圖 1 總結了該工具的主要功能。
圖 1:Performance Tuning Toolkit 主要功能的總結
已經定義了一些常見規則來檢測性能下降,並會自動採取行動。例如,以下情況會產生警報:
- 如果 heapsize 達到最大的堆值。
- 如果線程池達到閾值。
- 如果 CPU 利用率達到 90%。
- 如果出現 servlet 錯誤。
- 如果出現連接超時錯誤。
- 如果有線程等待連接。
- 如果有超過 1000 條準備好的語句被忽略。
- 如果應用程序試圖使用無效會話。
- 如果沒有空間供新會話使用。
- 如果已聲明瞭掛起線程。
- 如果有事務回滾。
- 如果有事務超時。
您也可以根據系統指示定義自己的規則。例如,您可以爲每個 serverlet 設置一個合適的響應時間閾值,如下所示。
rule "ServletEvent" when ServlentEvent(responseTime>1500, name=="Trade"); then String description = "response time extends the limits"; processData.addAlert("servlet", description);} end
優點和特性
The Performance Tuning Toolkit offers a number of benefits:
Performance Tuning Toolkit 具有很多優點:
- WebSphere Application Server 的輕量級軟件,無需安裝或集成任何東西到服務器端。
- 實時監控和交互式分析。
- 基於規則的事件處理,允許用戶添加自己的診斷邏輯。
- 高擴展性。
- 易於使用的接口。
它還有一些主要功能:
- 從 PMI 收集數據並把數據合併到數據立方體中。
- 基於規則的事件處理。
-
通過圖形視圖分析數據,並向下鑽取到明細數據。參見圖 2 和圖 3。
圖 2:圖形視圖分析
圖 3:向下鑽取到明細數據
- 生成工件(線程轉儲和堆轉儲)或啓用追蹤。
安裝和使用
安裝
要安裝 Peformance Tuning Toolkit,需要下載壓縮文件並解壓縮該文件。然後單擊 PerfTuningToolkit.exe 文件開始安裝。
使用 Performance Tuning Toolkit
首先,添加一個或多個主機,然後配置連接。設置好連接後,工具會自動獲取拓撲和服務器信息,然後存儲在工具中。您可以隨時添加、編輯或刪除主機。
添加一個主機
單擊 Add a new host 按鈕創建一個新主機,參見圖 4。
圖 4:添加一個主機
輸入主機信息,如果安全已啓用,則選中 Security enabled 框。然後單擊 OK。左側的 Hosts 面板中會顯示該主機。參見圖 5。
圖 5:設置主機信息
連接到主機
在左側面板中,雙擊主機名,連接到該主機。然後會詢問您是否用顯示的字符串自定義 PIM 設置。單擊 Yes 連接到服務器,並對其進行監控。
獲取關於主機的信息
單擊拓撲面板中的服務器名,Monitor 窗口會顯示在 Hosts 面板右側,如圖 6 所示。
圖 6:監控主機
Monitor 窗口會顯示統計信息和趨勢圖。可以很方便地從多個角度分析趨勢,並找到服務器中的潛在問題。頁面底部有很多選項卡,能讓您獲得多種信息。可根據需要展開或摺疊每個選項卡上的項。
監控時間
Monitor 窗口中有幾張圖片可用來顯示關於各種時間的信息:Servlet Response Time、Transaction Response Time、Jdbc Response Time、Servlet Throughput、Transaction Throughput、Jdbc Throughput、Concurrency、Http Session、CPU usage、Java Heap 和 Alert。參見圖 7。
圖 7:監控時間
合併時間間隔
合併時間間隔選項是用來控制監控曲線的時間間隔。有三個選項:AutoAjustInterval、CombineInterval 和 DisintegrationInterval。當單擊其中一個時,曲線時間間隔會立刻改變並且曲線會重畫。參見圖 8。
圖 8:合併時間間隔
Performance Tuning Toolkit 還提供了一些調試幫助功能,如生成線程轉儲、生成堆轉儲和啓用追蹤。
生成轉儲
要生成轉儲,在 Hosts 面板上選擇服務器,再從 Operation 菜單中選擇 Generatse Thread Dump 或 Generate Heap Dump ,如圖 9 所示。
圖 9:生成轉儲
啓用追蹤
要啓用追蹤,在 Hosts 面板上選擇服務器,從 Operation 菜單中選擇 Enable Trace ,如圖 10 所示。
圖 10:啓用追蹤
在 Trace Detail 窗口中,可以選擇已有的追蹤類型或在追蹤對話框中手動輸入追蹤信息,如圖 11 所示。
圖 11:輸入追蹤信息
編輯規則文件
檢測性能下降和定位瓶頸的自定義規則都保存在規則文件中。要檢查或編輯規則文件,在 Analysis 菜單中選擇 Edit Rules。圖 12 顯示了規則文件。
圖 12:編輯規則文件
此語法非常靈活,易於使用。隨着時間推移,會有越來越多的規則添加到工具中。
下載
描述 | 名字 | 大小 |
---|---|---|
Performance Tuning Toolkit for Windows | PerformanceTuningToolkit2_win32.zip | 260 MB |
Performance Tuning Toolkit for Linux | PerformanceTuningToolkit2_linux32.zip | 215 MB |