SQL Server 預設配置已不錯,但調整以下參數可進一步榨乾 TPM (每分鐘交易數):
- 關閉模型資料庫「分頁檢測」:
sp_dboption 'model','torn page detection','false'。現代磁碟陣列有電池備援,分頁檢測帶來微小寫入開銷可省。
- Affinity mask:綁定 CPU 核心,專用於特定進程 (如全文檢索、磁碟 I/O),一般不建議動。
- AWE enabled:企業版 + 高階 Windows 啟用 >4GB 記憶體。
- 平行成本門檻:預設 5 秒,降低可讓更多查詢並行,但恐造成 CPU 瓶頸,僅多 CPU 機器有效。
- 填充因子:高頻 INSERT 表降低 (如 70-80%) 減少分頁分裂。
- 輕量級連接池:啟用纖程模式,適合 8+ CPU 高 CPU 利用率伺服器。
- 最大平行度 (MAXDOP):限制單查詢使用 CPU 核心數,防止單查詢佔滿資源。
- 最大伺服器記憶體:留 512MB 給 OS/其他進程 (如全文檢索、代理程式)。
- 最大工作執行緒:類連接池,大量連接時調高 (上限 1024)。
- 網路封包大小:良好網路可調大 (預設 4KB),利於大批次 BLOB 傳輸。
- 優先權提升:
sp_configure 'priority boost',1 讓 SQL Server 進程以高優先權運行,專用機建議開啟。
鐵律:測試環境建立基線 → 變更單一參數 → 壓測對比 → 再決定上線。