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

DB2 9 XML 性能特徵分析:基於純 XML 線上證券交易場景的實測

     編輯:DB2 教學

隨 DB2 9 發布,其核心新特性 pureXML® 正式面世。本文透過模擬證券交易環境,在最新 POWER5 伺服器(p5 560Q)搭配 AIX 5.3 與 TotalStorage DS8100 磁碟系統上,針對面向數據的 XML 應用進行深度效能測試。

測試場景特徵

  • 高交易量與並發性
  • 小型交易尺寸
  • 大量小型 XML 文件
  • 可變 XML 結構 — 採用符合 FIXML 標準的金融業 XML 實作

XML 應用大致分兩類:面向數據(高量、小文件,本測試屬此類)與 面向文件(可變量、大文件)。本測試聚焦基於 XML 的線上交易處理(OLTP),模擬金融業訊息驅動交易場景。

DB2 9 XML 核心技術

DB2 9 引入純 XML 儲存、XML 索引、XQuery、SQL/XML 及進階 XML Schema 處理。「純」意指以帶型別註解的樹狀結構儲存與處理 XML,區別於舊有的 BLOB/CLOB 儲存或關聯表分解技術。

線上證券交易測試模型

主要邏輯實體(圖 1):

  • Customer: 可擁有多個帳戶
  • Account: 包含多個持倉
  • Holding: 某證券的持有量
  • Security: 證券標識(如股票代碼)
  • Order: 帳戶買賣證券的訂單

文件類型與大小

  • CustAcc 文件: 每客戶一份,含客戶/帳戶/持倉資訊,4–20 KB
  • Order 文件: 採 FIXML 4.4 標準,1–2 KB,屬性豐富、資料節點密度高
  • Security 文件: 20,833 份,含美股與共同基金代碼名稱,3–10 KB

所有實例文件由 Toxgene 產生器依三種 Schema 產出。

測試硬體與配置

伺服器規格

  • 處理器:IBM System p5 560Q,8 核心邏輯分區(LPAR),1.5 GHz
  • 記憶體:32 GB
  • 作業系統:AIX 5L v5.3 TL04(並發多執行緒提供 16 邏輯處理器)
  • 儲存:IBM TotalStorage DS8100,4 條光纖通道連接 LPAR,128 顆 73 GB 15K RPM 磁碟,配置 8 個卷組成卷組

AIX 與儲存調校

  • 虛擬記憶體參數:vmo -o minperm%=5、maxclient%=15、maxperm%=15
  • 掛載原始 XML 輸入檔案系統時啟用 JFS2 並發 I/O(-o cio)防止緩存干擾
  • DS8100 採 Switched FC-AL 互連,標準預設配置

DB2 9 自治配置

啟用自動儲存管理與自調整記憶體管理器(STMM)。STMM 依工作負載動態調整關鍵參數(表 2):

  • SELF_TUNING_MEM = ON、DATABASE_MEMORY = AUTOMATIC
  • 緩衝池:IBMDEFAULTBP 1,100,000、CATBP 4,000、TEMPBP 1,000(16K 頁面)

DBA 僅需設定少量手動參數(表 3):Unicode 資料庫、自動儲存表空間、日誌獨立條帶、3 張表(CustAcc/Order/Security)各自獨立表空間與索引表空間、停用檔案系統緩存、3 個專用緩衝池。

三種工作負載測試

  1. 插入(唯寫): 載入 ~100 GB 原始 XML(600 萬 CustAcc、3,000 萬 Order、20,833 Security),分階段由 83→100 並發用戶執行(表 4)
  2. 查詢(唯讀): 7 條 SQL/XML 查詢(含 XMLECTS、XMLQUERY、命名空間、XML 索引),25–150 並發用戶各跑 1 小時(表 5)
  3. 混合(讀/寫): 70% 查詢 + 30% 更新/刪除/插入,同樣並發層級各跑 1 小時(表 6)

關鍵測試結果

插入效能

  • 3,602 萬文件耗時 160 分鐘,平均 3,770 插入/秒
  • 吞吐量隨文件大小變化:Order(1–2K)5,320 筆/秒;CustAcc(4–20K)1,550 筆/秒
  • 資料量速度穩定約 30 GB/小時,與文件大小無關
  • Order 插入速率隨量增至 300 萬筆近乎恆定(圖 2)

查詢效能

  • 吞吐量隨並發用戶增長並隨 CPU 利用率趨平
  • 150 用戶時達峰值 5,480 查詢/秒(CPU 96%、I/O 等待近零)(圖 3)
  • 175 用戶無顯著提升(系統滿載)

混合負載效能

  • 150 並發用戶時達峰值 1,980 交易/秒(圖 4)
  • 混合負載吞吐量低於純查詢/純插入(預期內)

總結

  • 總測試時間 23 小時(含建庫)
  • 測試數據:600 萬 CustAcc、3,000 萬 Order、20,833 Security
  • 並發層級:25–150 用戶
  • 插入:1,550 tps(CustAcc)、5,320 tps(Order);資料量穩定 30 GB/hr
  • 查詢:25 用戶 2,000 tps → 150 用戶 5,500 tps(CPU 滿載、I/O 零等待)
  • 混合:25 用戶 1,000 tps → 150 用戶 2,000 tps(CPU 42%、I/O 等待 50%)

本研究證明 DB2 9 pureXML 在最新 IBM 硬體/軟體堆疊下,對高並發、小文件、訊息驅動金融 XML 工作負載具備優異的操作效能特徵。

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