標籤

2015年10月23日 星期五

[監控]如何為公司的MSSQL資料庫做健康檢查


如何為公司的MSSQL資料庫做健康檢查?
以下指標為統整各大專家部落格及官網文件、論壇 匯集重點而成,並在下列提供每種指標可能會有的狀況及圖形,記錄於部落格給各位參考交流。


項目
監控指標
標準
建議
微軟官網說明
處理器使用量
\Processor Information(_Total)\% Processor Time
<80%
升級CPU
使用「系統監視器」中的 Processor:% Processor Time 計數器是判定 CPU 使用量的一種有效方法。 此計數器可監視 CPU 花費在執行非閒置執行緒上的時間量。 狀態維持在 80% 到 90%,可能代表必須將 CPU 升級或增加更多處理器。
記憶體使用量
\Memory\Available Mbytes
<200MB
增加記憶體
Available Bytes 計數器的數值偏低,代表電腦整體地缺乏記憶體,或有某個應用程式沒有釋出記憶體。
讀取磁碟平均秒數
\LogicalDisk(_Total)\Avg. Disk Sec/Read
<0.025 (ms)
更換磁碟
此計數器會顯示磁碟讀取作業的平均時間 (以秒計)。在調整完善的系統上,理想值為記錄 1 至 5 毫秒 (ms,理想狀態為一個快取陣列 1 ms),資料 4 至 20 ms (理想狀態為小於 10 ms)。尖峰時間會出現較高的延遲,但若經常出現高值,即應調查原因。
寫入磁碟平均秒數
\LogicalDisk(_Total)\Avg. Disk Sec/Write
<0.025 (ms)
更換磁碟
此計數器會顯示磁碟寫入作業的平均時間 (以秒計)。在調整完善的系統上,理想值為記錄 1 至 5 ms (理想狀態為一個快取陣列 1 ms),資料 4 至 20 ms (理想狀態為小於 10 ms)。尖峰時間會出現較高的延遲,但若經常出現高值,即應調查原因。
記憶體快取命中
\SQLServer:Buffer Manager\Buffer cache hit ratio
<90
增加記憶體
表示不需讀取磁碟即可在緩衝區快取中找到之頁面的百分比。 此比率是過去數千個分頁存取中,快取叫用總數除以快取查閱所得的結果。 時間一久,比率的變動會越來越小。 從快取讀取遠比從磁碟讀取節省成本,因此您會希望此比率越高越好。 通常,您可以藉由增加 SQL Server 可用的記憶體數量或是使用緩衝集區擴充功能,來提高緩衝區快取叫用比率。
資料存活時間
\SQLServer:Buffer Manager\Page life expectancy
持續上升
增加記憶體
表示頁面停留在這個沒有參考之緩衝集區中的秒數。
使用者連線數
\SQLServer:General Statistics\User Connections
算目前已連線到 SQL Server 的使用者數目。
\Processor Information(_Total)\% Processor Time
平均值3%,為正常範圍。
平均值5%,特定時段飆高為維護作業,狀態正常。
CPU常態飆高,需確認CPU是否異常或需升級。
\Memory\Available Mbytes
平均值11GB,大於200MB即為正常範圍。
 
平均值7.4GB,大於200MB即為正常範圍。
平均值16GB,大於200MB即為正常範圍。
\LogicalDisk(_Total)\Avg. Disk Sec/Read
平均讀取低於 0.025 (ms) (25 毫秒),為正常範圍。
平均讀取低於 0.025 (ms) (25 毫秒),為正常範圍。
平均讀取低於 0.025 (ms) (25 毫秒),為正常範圍。
\LogicalDisk(_Total)\Avg. Disk Sec/Write
平均寫入低於 0.025 (ms) (25 毫秒),為正常範圍。
平均寫入低於 0.025 (ms) (25 毫秒),為正常範圍。
特定日期寫入高於 0.025 (ms) (25 毫秒),需額外確認當時狀態。
SQL Server Buffer Manager\Buffer cache hit ratio
平均值100%,狀況正常。
平均值100%,狀況正常
平均值99%,狀況正常。
SQL Server Page life expectancy (PLE)
當DB大小 小於 記憶體大小 即可進入快取完全命中狀態。
半夜時間因排程作業,存活時間較短,但上班維持命中並緩慢向上,代表記憶體尚且足夠。
存活時間約300秒,cash一直持續地被踢出,顯示記憶體不足。
SQLServer:General Statistics\User Connections
線上平均連線數25個,高峰25連線,狀態正常。
線上平均連線數30個,高峰140連線,狀態正常。
線上平均連線數250個,高峰300連線,狀態正常。
參考文件:
https://dotblogs.com.tw/jamesfu/2012/12/07/perfmon
https://docs.microsoft.com/zh-tw/sql/relational-databases/performance-monitor/monitor-cpu-usage?view=sql-server-2017
https://docs.microsoft.com/zh-tw/sql/relational-databases/performance-monitor/monitor-memory-usage?view=sql-server-2017
https://technet.microsoft.com/zh-tw/library/dd723635%28v=office.12%29.aspx?f=255&MSPPError=-2147217396
https://www.qa-knowhow.com/?p=189
https://technet.microsoft.com/zh-tw/library/dd723635%28v=office.12%29.aspx?f=255&MSPPError=-2147217396


沒有留言:

張貼留言