Linux Journal 刊載一篇 Oracle 資料庫效能調校實戰文章,展示如何透過系統化的參數調整,在標準硬體上實現 Oracle 效能提升 1000% 的驚人成果。本系列分三篇詳細複盤全過程。
產業背景:Linux 成企業級資料庫主流平台
- HP、Compaq、Dell、IBM、Oracle 全面擁抱 Linux。
- eWeek 統計:Linux 伺服器佔 Compaq 30%、Dell 13.7%、IBM 13.5% 出貨量。
- IBM 2001 年投入 10 億美元深耕 Linux。
- Intel Itanium 64-bit CPU 僅支援 Windows、Linux、AIX、HP-UX 四大 OS。
- Oracle 9i Linux 版比 Windows 版早一個月釋出。
雖 Linux 可跑於 IBM S/390 到 Sun SPARC,但 Intel x86 仍為主流部署平台。
測試環境規格
- 主測試機: Compaq 4 CPU、512 MB RAM、8 支 7200 rpm SCSI 磁碟。
- 對照機: 單 CPU Athlon、同 512 MB RAM、單支 7200 rpm Ultra 100 IDE 磁碟。
- 兩環境觀測到的效能提升趨勢一致,絕對數值因硬體差異而不同。
基準測試工具
採用 TPC-C OLTP 基準測試,工具為 Quest Benchmark Factory,操作簡易如寄電子郵件。
DB1:初始化參數基準值 (效能極低,作為比較基準)
- Block Size: 2K
- SGA Buffer Cache: 64M
- SGA Shared Pool: 64M
- SGA Redo Cache: 4M
- Redo Log Files: 4M
- Tablespaces: Dictionary Managed
- Load Time: 49.41 秒 | TPS: 8.152
DB2:擴大 SGA Buffer Cache 與 Shared Pool (128M 各)
- Block Size: 2K | Buffer Cache: 128M | Shared Pool: 128M | Redo Cache: 4M
- Load Time: 49.41 秒 → (見中集 DB3 續測)
單純擴大緩衝區與共用池對載入階段改善有限,需配合 Redo、區塊大小、表空間管理等綜合調整。
系列文章結構
- 上集 (本文): 環境介紹、基準值 DB1、DB2 初步調整。
- 中集: Redo Log、區塊大小、LMT、I/O Slaves 逐步實測 (DB3-DB7)。
- 下集: Linux 核心版本、noatime、bdflush 等 OS 極致調校 (OS1-OS5) 與總結。