首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> DB2 資料庫 >> DB2 教學

使用 Rational Performance Tester 實現 DB2 效能測試與監控

     編輯:DB2 教學

簡介

效能工程是確定並報告軟體解決方案當前效能的學科,涉及模擬大量並發用戶、收集診斷數據、繪圖分析、設計系統改進。在典型的 DB2 WebSphere 拓撲中,SUT (System Under Test) 常包含十台以上機器,測試週期繁瑣且易出錯。Rational Performance Tester (RPT) 是 IBM 簡化效能工程的核心策略。本文介紹在 WebSphere 叢集環境中使用 RPT 測試 DB2 的最佳實踐。

目標

  • 描述缺乏 RPT 類工具時效能測試的主要痛點
  • 介紹 RPT 與 Tivoli Performance Monitoring 基礎設施
  • 分享 DB2 WebSphere 環境中使用 RPT 的實戰經驗法則

測試環境架構

表 1 列出測試環境機器角色、硬體與軟體配置(DB2 伺服器、RPT Agent/Controller、HTTP Server、WebSphere Deployment Manager、Application Servers、RPT Workbench)。

未使用 RPT 的效能工程挑戰

  1. 環境佈建: 需精確模擬生產環境,從單節點到 16 節點叢集。
  2. 負載模擬: 需處理消費者行為分析、隨機化、上千執行緒/進程且具伸縮性。
  3. SUT 管理: 每次測試前需重置叢集、清除日誌、還原表空間,以確保可重現結果。
  4. 診斷數據收集: 至少需 vmstat、iostat、DB2 快照,需適時啟動工具並系統整理輸出,常需自製腳本。
  5. 數據後處理與繪圖: 大量複製貼上、電子表格操作,複雜系統超過 100 份診斷數據,常需整合專有圖形方案。
  6. 重複迭代: 發現瓶頸並改進往往需 100+ 次嘗試。

RPT 透過自動化負載模擬、結果圖形化、整合監控工具,大幅簡化上述週期。

測試拓撲設計最佳實踐

圖 1 展示典型 RPT 驅動的 Trade6 測試環境拓撲:資料庫、HTTP Server、Deployment Manager、Application Servers、驅動程式、RPT Workbench。

測試環境拓撲

關鍵拓撲原則

  • 分離 RPT Workbench 與驅動程式機器: 減少驅動端開銷。
  • 分離驅動程式與 Trade 叢集: 驅動程式開銷高,若共置會造成資源負載不平衡,影響效能測試準確性。

CPU/網路頻寬比例經驗法則

根據測試經驗,以下比例可平衡資源利用:

  • 總 Driver CPU : 總 DB2 CPU = 4 : 1
  • 總 HTTP Server CPU : 總 DB2 CPU = 1 : 10
  • 總 WAS CPU : 總 DB2 CPU = 2 : 1 (EJB 應用為 4:1)
  • 網路:DB2 CPU ≤ 4 核建議 100 Mbps;> 4 核建議 1 Gbps

設置 Trade6 環境

參考「使用 DB2 UDB 設置並運行 Trade6 基準」文件建立資料庫與填充數據。

使用 RPT 作為負載驅動程式

RPT 提供建立、執行各類效能測試的框架,內建工具簡化數據收集與分析。HTTP 協定支援錄製、編輯、執行測量頁面命中率、吞吐量、回應時間的測試。RPT 整合 IBM Tivoli Monitoring、Windows Performance Monitor、rstatd 等資源監控工具,可監控所有機器資源。Tivoli Monitoring for Databases 更可深入監控 DB2 內部指標(快照、表空間、緩衝池)。

RPT Workbench 安裝與調優

  1. 下載安裝包,運行 launchpad.exe,選擇安裝 RPT 7.0(含 Agent)。
  2. 若未安裝 IBM Installation Manager,依嚮導安裝。
  3. 同意授權,選擇共享目錄與安裝路徑,採典型安裝。
  4. 透過 IBM Rational License Key Administrator 配置授權(授權伺服器或授權檔)。

安裝 IBM Rational Performance Tester

Workbench 最佳實踐

  • 增加堆大小: 編輯 eclipse.ini,將 -Xmx1500m 設為 1.5 GB,避免大型測試記憶體不足。
  • 降低日誌級別: 在 Window -> Preferences -> Logging 中將 com.ibm.rational.test.common.schedule.execution 與 com.ibm.rational.test.lt.execution 設為 WARNING,減少系統開銷。

RPT Agent Controller 安裝與調優

  1. 每台驅動機器安裝 Agent Controller(Linux 執行 install_Linux.bin,Windows 執行 launchpad.exe 選 Agent)。
  2. 啟動:/opt/IBM/SDP70Shared/AgentController/bin/RAStart.sh

Agent Controller 最佳實踐

  • 使用正確 JVM: 確保使用 RPT 內建 JVM (RPT70/jdk/jre/bin/java),且 Workbench 與 Agent Controller Java 版本一致。
  • 增加 TCP 連接埠/開啟檔案上限:
    • Windows:修改註冊表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 的 MaxUserPort 為 65534。
    • Linux/Unix:ulimit -n 10050000(需 root)。
  • 調優後重啟 Agent Controller。

部署與執行 Trade6 效能測試

  1. 將範例專案 TradeProject 匯入 RPT 工作區(圖 3、4)。
  2. 修改 TradeScheduleTest 中 HTTP 請求的主機/連接埠指向您的 Trade6 Web 主機(圖 5)。
  3. 在 TradeSchedule 的 User Group 1 中添加每台驅動機器(圖 6)。

匯入專案

工作區視圖

瀏覽 TradeScheduleTest

添加部署機器

測試執行最佳實踐

  • 停用問題判定日誌: 效能運行時將 Problem Determination 日誌級別設為 None,或 Severe 並抽樣每用戶組一用戶。
  • 增加 Agent Controller JVM 堆: 大型測試時,在 Agent Controller 屬性中添加 RPT_VMARGS=-Xmx1500m (Windows) 或 -Xmx3g (Linux)(圖 7)。

添加 JVM 參數

啟動測試與即時監控

右鍵 TradeSchedule -> Run As -> Performance test schedule。Workbench 部署代碼至各驅動機器並執行。執行期間可動態查看效能報告:

  • 吞吐量頁面: 頁面命中率與用戶負載(圖 8)。
  • 回應時間頁面: 各請求平均回應時間(圖 9)。

吞吐量頁面

回應時間頁面

RPT 整合監控工具

RPT 7 整合三種監控工具:rstatd、IBM Tivoli Monitoring、Windows Performance Monitor。建議每台機器至少安裝一種。

啟動資源監控

在效能排程的 Resource Monitoring 分頁添加機器與工具(圖 10)。

啟動資源監控

最佳實踐:同步系統時鐘

所有被監控系統必須同步時間(NTP),確保時間戳記一致。Linux/AIX:ntpdate -u <time_server>。

rstatd 監控

收集基本 OS 指標:運行隊列、CPU 時間、磁碟傳輸、網路封包、VM 頁面交換等。Linux 安裝開源版 rpc.rstatd。在 RPT 中選擇 UNIX rstatd 監視器並勾選計數器(圖 11)。運行測試時在 Resources 分頁查看即時圖表(圖 12)。

啟動 rstatd 計數器

rstatd 資源監控圖表

IBM Tivoli Performance Monitoring

提供更豐富指標,支援 OS、Database、Application 深層監控。安裝步驟:

  1. 選擇一台機器為監控伺服器 (TEMS),安裝 Tivoli Enterprise Monitoring Server。
  2. 各機器安裝對應監控代理 (OS Agent, DB2 Agent 等),透過 itmcmd config 連接 TEMS。
  3. DB2 Agent 需在 TEMS 上安裝支援包 (itmcmd support -t <TEMS> ud) 並套用 DB2 V9 支援補丁。
  4. 啟動代理:OS Agent 用 itmcmd agent start ux;DB2 Agent 需以實例用戶登入並連接資料庫後啟動 itmcmd agent -o <user> start ud。

在 RPT 中選擇 IBM Tivoli Monitoring,指定 TEMS 主機名(圖 13),再於 Resource 分頁選擇計數器(圖 14)。運行測試時可查看 DB2 內部指標圖表(圖 15、16),支援右鍵自訂計數器顯示。

啟動 Tivoli 資源監控

選擇監控計數器

Tivoli 監控 DB2 圖表

自訂緩衝池命中率圖表

最佳實踐總結

類別項目建議
拓撲規劃RPT Workbench / 驅動機器Workbench 安裝於獨立機器,與驅動機器分離
驅動機器驅動程式獨立於 SUT,避免資源爭用
RPT Workbench堆大小大型測試增加至 1.5 GB (-Xmx1500m)
日誌級別排程執行組件設為 WARNING
Agent ControllerJVM 版本使用 RPT 內建 JVM,與 Workbench 版本一致
Linux/Unix 開啟檔案上限ulimit -n 10050000
Windows TCP 連接埠上限註冊表 MaxUserPort=65534
執行測試問題判定效能運行設為 None 或 Severe+抽樣
Agent Controller 堆大小大型測試設 1.5 GB (Win) / 3 GB (Linux)
資源監控系統時鐘所有機器 NTP 同步

結語

本文詳細說明如何使用 IBM Rational Performance Tester 作為 DB2 環境的效能測試與監控工具。RPT 從內建監控工具整合、負載腳本編寫執行、到結果圖形化分析,提供端到端解決方案,極大提升生產力,簡化 DB2 測試環境的效能度量收集與分析流程。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved