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