天天看點

第四章——SQLServer2008-2012資源及性能監控(1)前言:監視伺服器性能

性能優化的第一步是發現問題,而發現問題通常又有兩類:突發問題的偵測和正常問題的偵測,對于正常問題的偵測,通常需要有一個長效的性能監控作為依據。

本系列文章介紹

伺服器性能監控

<a href="http://blog.csdn.net/dba_huangzj/article/details/8626927">CPU使用率監控</a>

<a href="http://blog.csdn.net/dba_huangzj/article/details/8627000">記憶體使用率監控</a>

       當由于劣質的查詢寫法、缺失必要的索引或者資料庫級别的其他情況所導緻的性能問題時,可以通過使用執行計劃、DMVs/DMFs、SQL Trace或者資料庫引擎顧問(DTA)這些手段來查找問題的根源。

       但是,如果性能問題發生在硬體或者作業系統級别(如CPU/記憶體/IO/網絡問題等),就要使用一些複雜的工具來協助你找到性能問題。因為這些程序運作在作業系統層面。

       對于Windows server 2008R2、Windows 7這類新的作業系統,可以使用一個叫性能螢幕(Performance Monitor),也叫可靠性和性能螢幕(Reliability

and Perfomance Monitor)來實作更有效的監控。

在Windows中,有三個工具可以用來監控性能:

1、 

資源螢幕(Resource Monitor)

2、 

性能螢幕(Perfomance Monitor)

3、 

可靠性螢幕(Reliability Monitor)

資源螢幕提供一個快速、實時及圖形化界面來顯示包括CPU、記憶體、I/O和網絡使用情況的資訊,可以監視和檢查所有目前運作在機器上的程序的這部分資訊。并可以通過這個工具來結束你認為對性能有潛在風險的程序。

性能螢幕提供實時性能監控的圖形化界面工具,可以使用上百種性能計數器來跟蹤性能資料。并把資料存放到檔案中供進一步分析所用。

可靠性螢幕同樣提供圖形化界面,通過計算系統一段時期内的穩定性索引,來分析系統的穩定程度。任何的問題都會降低這些系統穩定性索引。

這三種工具公用一個接口——微軟管理控制台(MMC),可以合起來檢視。可靠性和性能螢幕合成了這三個工具的的所有功能。

在本系列文章中,将熟悉資源螢幕、可靠性和性能螢幕,并示範如何使用這些工具來檢查和監控硬體資源的性能。

       當使用者反應SQLServer所在的伺服器響應速度非常慢時,将優先使用什麼工具來快速檢視伺服器性能?

       在過去,可能會使用任務管理器來實作,但是在今天,可以使用更強大的工具來檢視伺服器資源。也就是資源螢幕。

本文将給出一個如何使用資源螢幕來監控硬體資源及伺服器性能的快速入門。

開發版或者企業版的SQLServer2008、2012。

安裝在Windows作業系統上的資源螢幕。從Windows Server 2008R2或者Windows7以後才出現。

微軟示例資料庫AdventureWorks。

打開資源螢幕,方法:在【運作】中輸入resmon.exe或者用快捷鍵Windows+R來輸入。

通過下圖可以看到資源螢幕有5個選項頁。第一個為概述頁。可以檢視伺服器的整體性能。

第四章——SQLServer2008-2012資源及性能監控(1)前言:監視伺服器性能

如果想檢視SQLServer服務所使用的CPU情況,可以點選第二個選項頁【CPU】,并找到程序名為:sqlservr.exe的那一行。點選第一個視窗之後,下面的視窗會顯示出相應的資源。如圖:

第四章——SQLServer2008-2012資源及性能監控(1)前言:監視伺服器性能

4、 

如果想檢視SQLServer使用的記憶體情況,可以使用步驟3中的方法,在第三個選項頁【記憶體】中檢視,如圖:

第四章——SQLServer2008-2012資源及性能監控(1)前言:監視伺服器性能

5、 

如果要檢查伺服器上活動的磁盤I/O,可以選擇選項頁【磁盤】,因為在前面已經選擇了sqlservr.exe程序,是以這個頁面顯示的将會是SQLServer服務所引起的I/O活動。可以連到SSMS中,輸入以下腳本:

6、 

馬上切換回資源螢幕。将會看到有I/O操作作用于AdventureWorks資料庫檔案上,如圖:

第四章——SQLServer2008-2012資源及性能監控(1)前言:監視伺服器性能

本文中直覺地展示了資源螢幕的使用,資源螢幕提供了CPU、記憶體、磁盤IO、網絡方面的資源使用情況資訊,它分成5個部分來展示相關資訊:

1、 概述:提供了其他4個選項頁中包含的伺服器資源資訊。當你發現産生性能問題的程序後,可以從這裡結束掉。

2、CPU:這個選項頁提供CPU使用的百分比資訊,也顯示在概述頁中顯示的每個程序的詳細CPU資訊。并可以看到對應程序的服務、關聯句柄及關聯子產品。在右邊,還能看到試試的圖形化的所有可用CPU的實時情況。如果你找到CPU使用率非常高,就應該檢查是什麼使用着這些CPU資源。

3、記憶體:這個選項頁顯示記憶體使用情況。可以找到系統有多少記憶體、多少記憶體已經在使用、多少記憶體空閑。還提供了每個程序的記憶體消耗情況。資源螢幕的最大優勢是可以通過勾選特定程序來擷取相應的資源資訊。

4、磁盤:這個選項頁是顯示各個程序對應的磁盤I/O活動,通過Read(B/Sec)和Write(B/Sec)列,可以看到特定程序的IO情況。同時也可以看到某些檔案上的IO活動。右邊顯示目前IO的實時情況。

5、 網絡:顯示出目前網絡使用情況。可以看到所有TCP連接配接所對應的不同的程序,也可以篩選特定程序。

       通過使用資源螢幕,可以快速定位消耗硬體資源的程序。同時可以檢視網絡方面的瓶頸。在SQLServer生産環境中,如果你發現某些程序、應用程式耗費的資源比SQLServer還多,并已經影響到SQLServer的性能,你可以考慮把這些經常或者應用程式移到别的伺服器,以使得SQLServer的性能不會收到太大的影響。