您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Windows Server 2008數據庫性能監控的示例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
在系統資源視圖中并列顯示了當前服務器CPU、磁盤、網絡及內存的性能曲線圖。這些曲線圖動態反映了系統資源的實時利用狀況。在這一組曲線圖的下方,我們可以展開查看各進程的資源利用狀況。在此前的Windows版本中,進程級別的實時性能數據十分有限,并且僅能通過Windows任務管理器查看。
與Windows Server 2003一樣,我們可以通過鍵入命令行指令“perfmon”來打開Windows Server 2008 可靠性與性能監測器。其默認初始界面即為系統資源視圖,如圖1所示:
圖1 Windows Server 2008可靠性與性能監測器系統資源視圖
系統數據搜集組是Windows Server 2008在系統性能監測方面新增的一個重要功能。通過它,用戶可以把相關的性能數據整合在一起進行搜集,這樣就可以適應各種不同的性能監測需要。我們還可以設定數據搜集的時間計劃,回放已搜集的性能日志,保存搜集模版用于監測其它服務器等。
如圖2、3所示,我可以通過向導創建系統數據搜集組,也可以把性能監測器的當前配置結果保存為新的系統數據搜集組。
圖2 Windows Server 2008系統數據搜集組向導
圖3 基于Windows Server 2008性能監測器當前配置新建系統數據搜集組
Windows Server 2008 可靠性與性能監測器整合了服務器性能優化建議工具的診斷報表功能(在Windows Server 2003中,優化建議工具是需要單獨下載的)。通過診斷報表,可以快速顯示任一性能數據搜集組的日志內容;通過其縮放功能,可以方便地查看任意時段的性能曲線,從而準確評估優化措施對性能的實際影響。
Windows Server 2008系統診斷報表的界面與Windows Server 2003性能監測器的系統性能監視界面類似。值得一提的是,打開Windows Server 2008的診斷報表后,我們可以選定時間段進行縮放以便更仔細的查看性能數據。另外,診斷報表還提供了多種數據展現形式用以全面分析性能數據日志。如圖4、5所示。
圖4 Windows Server 2008性能診斷報表的時間窗縮放功能
圖5 Windows Server 2008性能診斷報表的多種數據展現多樣性
SQL Server 2008性能監測對象
SQL Server 2008提供了豐富的性能監測對象及其計數器。在一臺服務器上,同一個性能對象可以有多個實例,例如Databases對象必須與某個具體的數據庫實例相關聯。對于默認數據庫實例,其性能計數器名稱的前綴為SQL Server:<對象名稱>;對于命名數據庫實例,其性能計數器名稱的前綴為MSSQL$<實例名稱>:<對象名稱>。另外,某些性能對象只能有一個實例,例如MemoryManager。
以下針對Windows Server 2008數據庫環境的主要性能瓶頸介紹常用的性能計數器,并說明其具體含義。
CPU性能瓶頸
性能監測器是確定CPU性能瓶頸最簡便的工具:如果“Processor:% Processor Time”計數器持續高于80%,則表明此CPU負荷過高,它很可能是系統性能瓶頸所在,可以考慮升級CPU。
SQL語句的重新編譯
過度的SQL語句編譯或重新編譯也會降低數據庫查詢的響應性能。用戶可以通過SQL Server 2008的性能計數器來監測并比較查詢編譯與查詢請求的數量。理想情況下,前者數量應遠遠少于后者。在性能監測器中,前者對應于SQL Server: SQL Statistics: SQL Recompilations/sec及SQL Server: SQL Statistics: SQL Compilations/sec
,后者對應于SQL Server: SQL Statistics: Batch Requests/sec。如果SQL編譯相對于用戶查詢過多的話,首先應確定用戶是否提交了過多的隨機查詢,然后再考慮CPU等其他可能的性能瓶頸。
SQL Server臨時庫(tempdb)瓶頸
大量使用或清除臨時表、表變量會導致tempdb的過度使用,從而降低系統性能。在Windows 2008 性能監測器中,有關這方面常用的SQL Server 2008性能計數器有:
SQL Server:Access Methods\Workfiles Created /Sec
SQL Server:Access Methods\Worktables Created /Sec
SQL Server:Access Methods\Mixed Page Allocations /Sec
SQL Server:General Statistics\Temp Tables Created /Sec
SQL Server:General Statistics\Temp Tables for destruction
游標(Cursor)性能瓶頸
在Windows Server 2008 性能監測器中,有關SQL Server 2008游標性能監測的常用計數器為:SQL Server:Cursor Manager By Type – Cursor Requests/Sec。通過它,我們可以知道數據庫中游標執行的情況。如果由于大量小批量游標讀取而導致Windows 2008數據庫服務器的CPU利用率過高,則此計數器通常會顯示為每秒數百次的游標操作。此外,SQL Server 2008未提供關于游標緩存大小的計數器。
綜上所述,我們可以通過Windows Server 2008的可靠性與性能監測器來對SQL Server 2008的性能計數器進行檢測。根據需要組合性能計數器,保存為數據搜集組,在設定的時間執行,然后通過性能診斷報表查看、分析。
有關SQL Server 2008性能計數器的更多信息,請參考微軟官方文檔http://msdn.microsoft.com/en-us/library/ms190382.aspx)。
SQL Server 2008管理數據倉庫
與Windows Server 2008的性能數據搜集組類似,SQL Server 2008也提供了新的數據庫性能搜集與分析工具。它主要搜集4大類性能數據,它們涉及T-SQL查詢相關數據、SQL Server系統追蹤(SQL Trace)數據、性能計數器數據以及查詢處理活動相關的數據。它們有助于以下系統性能狀況的評估、管理規劃及性能優化:
磁盤利用狀況:搜集SQL Server數據庫級的磁盤利用數據,通過它們來幫助系統管理員了解不同數據庫對物理磁盤的占用情況,做好磁盤空間的規劃;
服務器活動:搜集SQL Server安裝實例級的系統資源利用數據,如CPU、內存、I/O設備等。這些數據有助于系統管理員監測近期或長期的系統資源利用趨勢,從中發現潛在資源利用瓶頸。這些信息同樣可用于管理員的系統資源規劃;
查詢統計操作:搜集SQL語句級的查詢統計信息,包含查詢語句及其執行計劃。這些數據有助于系統管理員確認占用資源最多的查詢語句,從而有針對性地進行查詢性能優化。
這些性能數據是通過SSIS任務包來搜集的。這些任務包可以手動執行,也可以設置為定時或周期性執行。搜集的數據被存入專用的SQL Server數據倉庫,它被稱為SQL Server管理數據倉庫,簡稱MDW。某個MDW可用于保存來自多個SQL Server安裝實例的性能數據。被檢測的目標數據庫服務器可以位于遠端,性能數據通過其上定時執行的SSIS任務包傳入MDW。為保證搜集效率,數據搜集任務包可以把所搜集的數據存入目標服務器的臨時文件中保存,等到定時上傳時刻再傳入MDW。所搜集的性能數據通過預先設計的SQL Server報表在SQL Server 2008管理器(SSMS)中查看,用于性能分析。我們不僅可以設定數據搜集或上傳的時間間隔,還可以根據需要自定義所需搜集的性能數據集以及性能報表。
感謝各位的閱讀!關于“Windows Server 2008數據庫性能監控的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。