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简介

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