SQL Server 2014 推出 Buffer Pool Extension (BPE),允許將 SSD 視為記憶體緩衝集區的延伸,以極低成本大幅擴充熱點資料快取容量,大幅減少隨機 I/O 與 PAGE OUT,為記憶體受限環境帶來革命性效能提升。
-- 需 sysadmin 權限
ALTER SERVER CONFIGURATION
SET BUFFER POOL EXTENSION ON
(FILENAME = 'D:\SSD_BufferPool\BPE_File.BPE', SIZE = 100 GB);
GO
The buffer pool extension size must be larger than the current memory size...
SQL Server 2014 新增專用 DMV 與擴充現有 DMV:
sys.dm_os_buffer_pool_extension_configuration:BPE 設定狀態(檔案路徑、大小、啟用狀態)。sys.dm_os_buffer_descriptors 新增 is_in_bpool_extension 欄位:標示頁面是否在 BPE 中。
效能監視器新增大量 BPE 計數器(SQLServer:Buffer Pool Extension 物件),涵蓋讀寫 IOPS、命中率、驅逐率、延遲等關鍵指標。
| 場景 | BPE 效益 | 建議 |
|---|---|---|
| 記憶體 64~128 GB,資料庫 1~2 TB,OLTP 混合負載 | ⭐⭐⭐⭐⭐ 熱點資料全入快取,隨機 I/O 降 80%+ | 首選方案 |
| 純資料倉庫,大量循序掃描 | ⭐⭐ 效益有限,循序讀取 HDD 頻寬通常足夠 | 評估後決定 |
| 已有充足記憶體(熱點全入記憶體) | ⭐ 無額外效益 | 不需啟用 |
Buffer Pool Extension 以幾萬元 SSD 成本換取數十萬記憶體擴充效果,打破「記憶體不足只能加實體 RAM」的鐵律。結合記憶體內部 OLTP (Hekaton),SQL Server 2014 為高效能資料庫架構開闢了全新的成本/效能曲線。