SQL 性能監視器與 DMV 動態管理視圖
我們正在嘗試衡量 SQL Server 性能指標。記錄性能監視器 (PerfMon) 或 DMV 動態管理視圖來測量 CPU、記憶體、緩衝區頁面等是否更好?有一些指標,PerfMon 可以測量哪些 DMV 不能,而 DMV 的其他方式可以測量 Perfmon 不能測量的某些東西。我指的是常見的共享指標。
一般來說,Microsoft 是否有在 SQL Server 中使用 Perfmon 或 DMV 的最佳實踐?我假設答案是使用遠端電腦的 Perfmon,因為使用 DMV 測量事物會在中央伺服器上產生滯後/壓力。Perfmon 可以從遠端伺服器使用,並減少負載。
謝謝,
我認為最好的建議是使用所有可用的東西,或者至少使用最適合您的工作量的部分。
還要考慮擴展事件(通常縮寫為 XE),雖然最初很難進入,但它可以提供有關特定事件的大量資訊,而不僅僅是從 PerfMon 獲得的發生的事情的計數,並且比不斷輪詢 DMV 施加的負載更少。
使用 PerfMon 監控 SQL 實例的一般健康狀況,當該或其他跡象表明存在問題時,使用來自 DMV 的資訊來查看現在正在發生的事情或最近發生的事情,並擴展事件以“實時捕捉”並記錄它們供以後分析。
$$ SQL Profiler can do a fair amount of what XE does too, and is easier to get started with, but it is deprecated so hasn’t been updated much since 2012, may vanish completely in later releases, and isn’t available against Azure databases at all (apart of course from on-prem SQL Server running in VMs) $$