摘要: 故事來源于《sql server2012 深入解析和性能分析》
1.重要的PerfMon CPU計數器
計數器 | 查看內容 | 發生問題的條件 | |
Processor | %Processor Time | CPU為生產環境的請求提供服務消耗的時間占總CPU時間的百分比 | >80% |
Processor | %Privilege Time | CPU為內核模式請求提供服務消耗的時間占總CPU時間的百分比 | >30% |
Process | %Processor Time(sqlserver) | SQL server運行在CPU上的時間(用戶模式+特權模式)占總時間的百分比 | >80% |
Process | %Privilege Time(sqlserver) | SQL server以特權模式運行的時間占總時間的百分比 | >處理器時間(sqlserver)的30% |
?
?
?
?
?
?
?
?
2.內存性能計數器
計數器 | 查看的內容 | 發生問題的條件 ? | |
Merory | Availabel MB | 以MB計算的空閑物理內存量;小于100MB的值表明具有外部內存壓力或者最大服務器內存設置太高了 | <100MB |
Memory | Pages/sex | 這個值不一定意味著有問題。如果懷疑有外部內存壓力的時候查看這個計數器,而且考慮這個計數器的時候總是要考慮其他內存計數器 | >500 |
Memory | Free System page Table Entried | 在X86服務器上,頁表項最有可能耗盡(即成為瓶頸),特別是在boot.ini中使用/3GB或USERVA開關時 | <5000 |
Paging File | %Usage,%Usage Peak | 一般來說,工作負荷會增加虛擬地址空間的要求,而虛擬地址空間會增加對頁面文件的需求。對頁面文件的頻繁使用通常表明存在內存問題。關于調整大小的詳細信息可產月第3章 | 70% |
?MSSQL Buffer Manager | ?Page Life Expectancy | ?一個數據頁在緩沖池中駐留的秒數。擁有足夠多內存的服務器的Page Life Expectancy值會很高。隨著時間推移,查看這個計數器的趨勢。總之,這個值應該保持穩定或者逐漸更高。這個值的頻繁下降意味著內存壓力 | ?<300秒 |
?MSSQL Buffer Manager | ?Buffer Cache HitRatio | ?由緩沖池中的數據頁滿足的頁面請求的百分比。Page Lifi Expectancy是一個緩沖池健康的更好的總體指標 | ?<98% |
MSSQL Buffer Manager | Lazy Writes/sec | 每秒鐘SQL Server 將臟頁從緩沖池(內存)遷移到磁盤的次數 | >20 |
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
3.重要的PerfMon磁盤計數器
計數器 | 查看的內容 | 發生問題的條件 | |
Physical Disk | Avg.disk sec/Read | 完成從磁盤讀取的平均時間,以秒計算 | >0.010 c次優 >0.020 糟糕 |
Physical Disk | Avg.disk sec/Write | 完成從磁盤寫入的平均時間,以秒計算 | >0.010 c次優 >0.020 糟糕 |
?
?
?
?
?
?
?
?
4.重要的SQL Server PerfMon計數器
計數器 | 查看的內容 | 發生問題的條件 | |
MSSQL SQL Statistics | Batch Requeste/sec | 每秒鐘SQL Server處理的T-SQL批數。越高越好。適合用于基準,在進行任何比較的時候最好考慮這個計數器 | >1000表示服務器的活動強度高 |
MSSQL SQL Statistics | SQL Compilations/sec | 每秒鐘需要進行計劃編譯的批數。高編譯數要么表示計劃重用很糟糕,要么表示即席查詢太多 | >每秒批請求總數的20% |
MSSQL SQL Statistics | SQL Recompilations/sec | 每秒鐘語句重編譯的次數 | >每秒批請求總數的20% |
MSSQL General Statistics | Processes Blocked | 目前正被阻塞的進程數 | >0的時候進行調查 |
MSSQL Locks | Lock Waits/sec | 每秒鐘等待鎖的用戶請求數。可以表明阻塞的發生 | >0 |
MSSQL Locks | Lock Timeouts/sec | 每秒鐘發生鎖超時的次數。大于1的時候就應該進行調查 | >0 |
MSQQL Transactions | Free Space in Tempdb(KB) | tempdb中的可用空間,以KB計算 | <100MB |