隨著 DB2 9 的發布,其核心新特性 pureXML® 成為關注焦點。為深入評估其效能,我們構建了一個模擬券商業務環境,具備高交易量、高並發、小事務體積、大量小型 XML 文檔以及可變的 XML 結構(符合金融業 FIXML 標準)等特徵。
XML 應用大致分為兩類:面向數據型(高數據量、小文檔,本測試針對此類)與面向文檔型(數據量可變、大文檔)。涉及 XML 的資料庫應用場景廣泛,包括關係數據發布、全文搜索、異構數據整合、表單處理、Web 服務/SOA 後端支撐、基於訊息的事務處理及金融業 XML OLTP 等。
本文聚焦於基於 XML 的事務處理性能度量,模擬面向數據的金融應用。測試平台採用 POWER5 伺服器 (p5 560Q)、AIX 5.3 及 TotalStorage DS8100 磁盤陣列。
DB2 9 引入純 XML 儲存、XML 索引、XQuery、SQL/XML 及進階 XML Schema 處理。「純」意指以帶型別標註的樹狀結構儲存並處理 XML,徹底區別於舊有的 BLOB/CLOB 儲存或關係表分解方案。詳細技術細節可參考《What's new in DB2 Viper》及《Native XML Support in DB2 Universal Database》。
場景簡化自真實金融機構 XML 採用經驗,保留文檔、事務與 Schema 的代表性。核心邏輯實體如圖 1 所示:

三類文檔特徵差異明顯:
測試數據由 Toxgene 生成器依據三個 Schema 產出。
安裝 DB2 時自動調整核心參數,並額外設定虛擬記憶體管理:
vmo -o minperm%=5 vmo -o maxclient%=15 vmo -o maxperm%=15
掛載原始 XML 輸入文件系統時啟用 JFS2 並發 I/O (-o cio) 以防止緩存干擾。
DS8100 採用 Switched FC-AL 互連,128 塊 73GB/15K RPM 磁盤組成 16 個卷,LPAR 使用 8 個卷(64 磁盤)組成跨卷組(VG)。所有 DB2 存儲組件(表空間、日誌、備份)均置於此 VG。詳細配置見表 1。
| 項目 | 配置 |
|---|---|
| 處理器 | 兩顆 POWER5 1.9 GHz 双核 CEC |
| 快取 | 32 GB |
| 磁盤互連 | Switched FC-AL |
| 磁盤數量 | 128 塊(主機使用 64 塊) |
| 磁盤規格 | 73 GB, 15,000 RPM |
充分利用自治自調整功能:自動存儲管理與自調整記憶體管理 (STMM)。STMM 持續根據負載類型(純插入、純查詢、混合)動態調整關鍵參數(表 2)。DBA 僅需執行極少手工配置(表 3)。
| 參數 | 初始值 |
|---|---|
| SELF_TUNING_MEM | ON |
| DATABASE_MEMORY | AUTOMATIC |
| SORTHEAP | 156 |
| SHEAPTHRES_SHR | 10000 |
| LOCKLIST | 53000 |
| MAXLOCKS | 80 |
| PCKCACHESZ | 27000 |
| 層面 | 設定 |
|---|---|
| 資料庫 | Unicode,全自動存儲,日誌獨立條帶 |
| 記憶體 | 啟用 STMM |
| 頁面大小 | 16K(表空間與緩衝池) |
| 表與索引 | 3 張表(CustAcc、Order、Security),24 個 XML 索引 |
| 表空間 | 6 個(每表獨立數據與索引空間),禁用檔案系統緩存 |
| 緩衝池 | 3 個(預設、編目、臨時) |