Azure SQL DB/DW 系列(2)——入門級監控性能的工具

本文屬於Azure SQL DB/DW系列
上一文:Azure SQL DB/DW 系列(1)——首次使用感受

  關於性能監控,其實有很多高級玩法,不過目前我打算只介紹三個入門級的常用的工具:

  1. Azure的控制檯提供了服務器的資源使用情況。
  2. Azure控制檯有專門的Performance的部分,特別是Performance Insight。
  3. 在SSMS種可以查看的Query Store。

  接下來將簡介一下這三種,然後優先介紹Query Store,因爲這個功能可能更加有用。當然,還有一些其他方式可以使用,比如Extended Events。
  由於我的公司是外企,所以截圖界面是英文版。不過根據圖片的位置應該還是可以找到的。

Overview

  先來看這個overview,準確來說,它不是用來做性能監控的,它更像Windows的任務管理器上顯示資源的作用。如果這個界面的資源(包含了CPU、Data IO和Log IO)某個甚至三個指標都處於高負載,那其他都不用怎麼檢查了。
  爲什麼這裏沒有內存?因爲SQL DB以"Pricing Tier"(中文就是定價)來封裝資源,從大類來分,包含了DTU模式和vCore模式,DTU簡單來說就是便宜、固定,不容易調節。vCore具有相對靈活的調節功能,不過費用相對更高。關於定價,如果後續有機會分享的話我再細說,本部分暫時考慮的是性能監控。官方文檔可以參考:Azure SQL 數據庫定價
  我們公司使用的是vCore模式爲主,內存資源受限於vCore,所以如果內存不足,你只能提升vCore的定價。回到下面的截圖,當你感覺有性能問題的時候,建議首先看這個。
  個人認爲除了看它主要看三個指標,還要觀察一下右邊得空間,有時候忽略了空間的使用率也會導致數據庫變成只讀,無法修改數據。這部分跟Windows看資源差不多,就不多累贅。
在這裏插入圖片描述

Intelligent Performance

  可以說這個纔是比較真正的性能監控。途中的Performance Overview 和Query Performance Insight的現狀圖數值是一樣的。只是Query Performance Insight 有關於具體SQL的一些運行信息。
  簡單來說,這部分的功能是用於分析真正的性能問題,通過智能收集數據,展現出數據庫的負載和一些性能建議甚至使用Automatic Tuning(這個需要高權限賬號額外開啓,並不默認開啓)來讓Azure幫你做下面第二個圖的內容,不過可以看到我的賬號並沒權限開啓。
在這裏插入圖片描述
Automatic Tuning的配置界面

  我使用Intelligent Performance的場景主要是爲了快速瀏覽,或者截圖出報表。主要受限於權限,但是後續我也會使用MVP送的Azure來做測試。拋開權限,這個功能其實很有用,值得深入學習。

Query Store

  這個是我重點推薦的功能,這個功能從SQL 2016引入,可以在雲版本和非雲版本使用,相對於前面兩個Azure頁面提供的獨有功能,Query Store更具有普遍性。
  其實Query Store是智能優化的基礎,它通過後臺自動,連續地捕獲數據庫中查詢(SQL 命令,不限於SELECT)執行相關的數據並存儲到一些表中,後續查看的時候可以看到一個歷史的,還帶有部分分析功能的數據庫狀態。
  我的一個Azure case就是需要反覆使用這個工具,所以接下來我會深入介紹這個功能。
  這個功能同時存在於SQL Server 2016及後續版本中,覆蓋了Windows/Linux/Azure SQL DB/Azure SQL DW這些產品,靈活使用它可以在一個工具中(SSMS)偵測到絕大部分的問題。不過要注意,默認情況下新數據庫並不啓用Query Store,需要手動啓用。ALTER DATABASE [數據庫名] SET QUERY_STORE = ON;但是目前SQL DW通過SSMS還沒發現可以直接看到,需要用命令來調用。
  使用它你只需要在SSMS中,找到下圖的地方,然後右鍵選中需要看的內容,就可以看到一些信息,後續會詳細分析和介紹。
放圖

小結

  本文非常粗略地介紹了三種本人工作中經常用的工具,但是其中兩種由於太有價值,所以不在也不可能在一篇文章中說完,接下來會先介紹Query Store,因爲這個功能更通用,而且可以忽略Azure帶來的專用性。

  下一文:Azure SQL DB/DW 系列(3)——Query Store簡介

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章