翻譯|使用教程|編輯:莫成敏|2019-08-22 10:58:27.500|閱讀 818 次
概述:本文介紹了Azure定制的指標和警報,SQL Monitor提供這些指標和警報來診斷Azure SQL數據庫的任何性能問題,并讓您知道哪個資源(CPU,數據IO或日志IO)是瓶頸。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
SQL Monitor是一個SQL Server監控工具。它可以監控SQL Servers的健康狀況和活動,并通過電子郵件為您發送監測結果和建議。
本文介紹了Azure定制的指標和警報,SQL Monitor提供這些指標和警報來診斷Azure SQL數據庫的任何性能問題,并讓您知道哪個資源(CPU,數據IO或日志IO)是瓶頸。
SQL Monitor提供了一整套針對Azure SQL數據庫和SQL彈性池的監視。因此,您可以使用它來監視所有數據庫,無論它們是在本地物理服務器或虛擬機上,還是在Azure云中。
Azure SQL數據庫只是一個SQL Server數據庫,可以使用許多標準數據庫監視機制和指標。因此,SQL Monitor可以為所有數據庫收集這些度量標準,并以標準方式為整個SQL Server屬性提供數據。不同之處在于,您現在正在監控共同租用的Azure計算機上的SQL Server數據庫,您無需對其負責或訪問。
但是,SQL Monitor將收集Azure定制的度量標準,這些度量標準將告訴您數據庫如何消耗諸如存儲空間和CPU之類的資源,并且還有一些新的度量標準要收集,而這些指標通常不需要。Azure SQL數據庫將具有唯一的“計算資源”約束,以您選擇的性能和存儲層可用的DTU數量或vCore配額來衡量。這需要一些特殊類型的度量標準和關聯的警報,以便SQL Monitor可以快速提醒您Azure SQL數據庫的性能問題,并讓您知道它是否是計算資源問題,以及哪個資源(數據IO或日志IO)是約束。
為什么使用監控工具?
如果僅使用Azure SQL數據庫,則可以選擇使用Azure門戶中提供的內置監視來獲取整個Azure SQL Server屬性的概述,并在整個Azure的上下文中查看它資源。例如,如果您具有混合類型的Azure托管數據庫(包括MySQL MongoDB或PostgreSQL),則還可以在Azure監控中包含這些數據庫。
然而,這種多功能性需要付出代價。Azure系統僅自動為您收集有限數量的數據庫度量標準。警報需要您完成更多工作。這需要你花費大量的時間,最寶貴的商品來完成它。這意味著使用像SQL Monitor這樣的工具是有好處的,即使你確實擁有“全Azure”產品,它也會為你完成所有這些工作。
如果更常見的是,您擁有混合SQL Server產品,云中的某些服務器和服務以及一些本地服務器和服務,那么如果您使用的是Azure Poral監控,則仍需要單獨監控所有非Azure數據庫遺產。
相反,您需要一個集成監視內部部署和Azure服務器和數據庫的監視工具,因此提供了包含一組通用指標和警報的整體環境。例如,如果Azure SQL數據庫不可用,則SQL Monitor會立即讓您了解它,就像對任何受監視實例一樣。它還內置了您在Azure SQL數據庫上監視昂貴查詢,阻止,死鎖等所需的所有性能指標和警報。當然,如果您需要深入研究SQL Monitor已向您發出警告的問題,您仍然可以使用Azure Monitor工具和其他工具。
監控Azure SQL數據庫
在幕后,Azure SQL數據庫只是一個SQL Server數據庫,因此您將對監視性能、行為、錯誤等有同樣的擔憂。因此,在很大程度上,SQL Monitor在Azure SQL數據庫中的外觀和行為與在本地硬件或虛擬機中運行的SQL Server的外觀和行為大致相同。但是,您也會看到差異,并且您還會有特殊的監控問題,具體取決于您確切地設置Azure SQL數據庫的方式,您選擇的采購模型和服務層等等。
本文不會嘗試提供有關如何遷移到Azure SQL數據庫的任何建議,也不會提供您應該選擇的選項。我只是設置了四個Azure SQL數據庫來反映一些可用的選項和模型:
Standalonedb——顧名思義,這是一個Azure SQL數據庫,位于基本層中并由DTU收費。
RedgatePool——具有三個數據庫的彈性池,這些數據庫處于更高性能層并由vCore計費。
Firstshareddb和secondshareddb——是相同的兩個單獨的數據庫邏輯服務器,它們位于一個更高的層次,并通過DTU重新計費。
某些資源限制將適用于您的數據庫和池,基于DTU或基于vCore。如果您點擊它們,您會看到嚴重的性能問題,甚至是連接問題。當然,SQL Monitor具有指標和警報,可以讓您看到這些問題并計劃如何避免這些問題。
概述
讓我們從SQL Monitor 的Overviews屏幕開始,在那里您可以看到為監控設置的Azure SQL數據庫和數據庫池,如上所述。
每個磁貼右上方的云圖標表示您正在監視基于云的資源,左側的圖標告訴您它是單個Azure SQL數據庫還是彈性數據庫池。
除此之外,在大多數方面,概述的外觀和行為與任何其他SQL Server實例的概述類似。您可以判斷數據庫是在線還是關閉。如果已生成任何警報,您將能夠看到這些警報。您還可以立即獲得有關給定數據庫的一般行為的反饋。例如,standalonedb數據庫上有一些活動,如下所示:
您還可以獲得DTU或數據庫事務單元的附加度量,我們將在稍后詳細介紹,以及CPU、數據I / O和日志I / O的度量,它們是構成DTU的度量標準。
我們將以standalonedb示例的方式查看SQL Monitor指標和警報。我將單獨介紹彈性池并指出任何差異。具有共享數據庫的服務器具有一些管理更容易的區域,但基本上與獨立服務器和數據庫的工作方式相同,因此我不會單獨介紹它。
資源指標
單擊數據庫將打開該數據庫行為的詳細視圖:
如您所見,SQL Monitor包含Azure SQL數據庫的DTU利用率度量標準以及CPU利用率度量標準。由于Azure中的計費可以由DTU或vCore進行,因此您需要同時測量CPU和DTU。您可以立即看到當天早些時候CPU和DTU的使用與正常行為完全不同。
下面我們看到數據庫的數據I / O和日志I / O利用率。所有這些都表示為此數據庫的最大允許利用率的百分比。如果數據庫達到其中任何資源的最大配額,您將看到嚴重的查詢性能問題,查詢將被排隊。您需要仔細跟蹤這些資源的使用,并且您很快就會看到SQL Monitor還提供有關這些指標的內置和可配置警報。
對于在物理機或虛擬機上運行的SQL Server實例,您通常會在此處查看磁盤I / O和內存等資源指標。雖然Azure SQL數據庫中的許多測量都是相同的,但很多測量是完全不同的,因為術語“數據庫即服務”意味著您不會查看服務器實例,而只是擁有一個數據庫和資源它目前正在使用。
當然,您仍需要測量I / O、內存使用等,因此SQL Monitor會從Azure SQL數據庫特定的DMV和Azure中提供的其他指標中捕獲這些數據庫資源使用指標。例如,它從sys.dm_db_resource_statsDMV 捕獲CPU利用率數據。
最昂貴的10個查詢及其執行計劃
如果資源使用率很高,尤其是在您接近資源限制時,您將需要查看系統上處于活動狀態的最長運行或資源密集型查詢。向下滾動到overviews頁面,我們找到它們。在這個例子里,目前只有少數查詢生成測試負載,但在較大的系統上,您會看到正常的前10個查詢:
您可以按執行次數、持續時間和所有其余內容對查詢進行排序。您可以深入查詢以獲取執行計劃、關聯的T-SQL語句和查詢歷史記錄:
所有這些都是從SQL Monitor獲取的任何SQL Server實例的相同信息。
等待統計
除了查詢之外,您還可以查看等待統計信息:
同樣,此處的行為與SQL Server實例中的預期完全相同。唯一的區別是這些等待來自sys.dm_db_wait_stats,而不是來自sys.dm_os_wait_stats,因為這是一個Azure SQL數據庫。
SQL Server性能指標
進一步向下滾動可以獲得您希望看到的大多數指標,展示數據庫的一般性能:
跟蹤Azure中的鎖定和鎖存、批處理請求、SQL編譯等指標同樣重要,因為它在SQL Server實例中,因此所有數據都可用。
分析數據庫指標值中的趨勢和相關性
SQL Monitor顯示我們在Analysis屏幕上收集的Azure SQL數據庫指標的完整列表:
這意味著,與任何SQL Server實例中的任何其他指標一樣,我們可以繪制和分析Azure SQL數據庫的相關指標,并創建基線,以便與類似時期的先前行為進行比較。
這是一個基線,顯示1小時內與前一小時相比的CPU百分比,并將前7天的比較進行了擴展:
圖表上較淺的一行表示CPU長時間處于最大值,并且還有一段短暫的時間段CPU低于此圖表顯示的數據庫正常的合理穩定狀態。這提供了一些信息,這些信息可用于將當前狀態與Azure SQL數據庫中的先前行為進行比較,就像在常規SQL Server實例中一樣。
相關內容文章:
使用SQL Server監控工具SQL Monitor,監視Azure SQL數據庫的性能問題(下)
想要購買SQL Monitor正版授權,或了解更多產品信息請點擊
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn