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

SQL Server 性能分析關鍵性能計數器:從內存、CPU 到磁盤 I/O 全維度監控

     編輯:關於SqlServer

Performance Monitor 核心計數器速查表

內存子系統

計數器閾值/判讀含義
Memory: Pages/sec持續 > 50-100硬頁錯誤率,指示物理內存壓力,非僅頁面讀寫
Process(sqlservr): Working Set接近 Max Server MemorySQL Server 進程實際佔用物理頁數
SQLServer:Buffer Manager: Page Life Expectancy (PLE)> 300 秒 (視負載)頁面在緩存停留秒數,核心內存健康指標
SQLServer:Buffer Manager: Buffer Cache Hit Ratio> 95% (OLTP)邏輯讀命中緩存比例,持續低需加內存或優化查詢

CPU 子系統

計數器閾值/判讀含義
Processor(_Total): % Processor Time持續 > 80-85%總體 CPU 忙碌度
Process(sqlservr): % Processor Time持續 > 95% (單實例)SQL 進程 CPU 佔用
Processor: % Privileged Time高且磁盤計數器也高內核態時間,暗示 I/O 驅動程序/系統調用開銷大
Processor: % User Time高用戶態計算 (排序、哈希、聚合、壓縮)
System: Processor Queue Length> 2 * 邏輯核心數就緒線程排隊,CPU 飽和強信號

磁盤 I/O 子系統

計數器閾值/判讀含義
PhysicalDisk: Avg. Disk sec/Read/Write< 10ms (SSD) / < 20ms (HDD)平均延遲,核心 I/O 性能指標
PhysicalDisk: Avg. Disk Queue Length< 2 * 磁盤數 (物理主軸)請求隊列長度,RAID 卷按物理盤計算
PhysicalDisk: Disk Reads/sec / Writes/sec接近硬件極限IOPS 利用率
SQLServer:Buffer Manager: Checkpoint pages/sec峰值平滑檢查點寫入壓力
SQLServer:Databases: Log Flushes/sec / Log Flush Wait TimeWait Time 低事務日誌寫入延遲,直接影響提交性能

SQL Server 內部

計數器關注點
SQLServer:Locks: Lock Waits/sec / Average Wait Time鎖爭用熱度
SQLServer:Latches: Latch Waits/sec內存結構爭用 (非鎖)
SQLServer:Access Methods: Full Scans/sec / Range Scans/sec掃描 vs 查找比例
SQLServer:SQL Statistics: Batch Requests/sec / SQL Compilations/sec / Recompilations/sec吞吐與編譯開銷
SQLServer:General Statistics: User Connections / Processes Blocked連接數與阻塞

監控最佳實踐

  1. 建立基線:業務低峰/高峰各采集 24-48h,確定「正常範圍」
  2. 關聯分析:單一計數器無意義,需多維關聯 (如 CPU 高 + 編譯高 → 參數化問題)
  3. 持久化存儲:Data Collector Sets → Management Data Warehouse (MDW) / InfluxDB+Grafana / Azure Monitor
  4. 告警分級:P1 (實例不可用/嚴重阻塞) → P2 (關鍵指標持續異常) → P3 (趨勢預警)
  5. 擴展事件補充:計數器顯示「什麼」,XEvents 解釋「為什麼」
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved