本文适用:AZURE SQL数据库,AZURE SQL托管实例

sys.resource_stats

这部分内容将分为上下两篇文章展开!

sys.resource_stats比较实用,可以通用于AZURE SQL数据库和AZURE SQL托管实例。帮助我们获取更多信息。

master 数据库中的 sys.resource_stats 视图包含的信息可帮助监视数据库在特定服务层级和计算大小的性能。 每 5 分钟收集一次数据,并且会保留大约 14 天。 此视图可用于数据库使用资源的方式的长期历史分析。

下图显示一周内每小时的 P2 计算大小高级数据库的 CPU 资源使用情况。 此图从星期一开始显示,先显示 5 个工作日,然后显示周末,应用程序在周末使用的资源要少得多。

SQL SERVER活动监视器资源等待_SQL SERVER活动监视器资源等待

从数据而言,此数据库当前有一个峰值 CPU 负载刚好超过相对于 P2 计算大小的 50% CPU 使用率(星期二中午)。 如果 CPU 是应用程序资源配置文件的决定因素,可以决定 P2 是适当的计算大小以保证工作负荷始终适合。 如果预期应用程序的资源使用会随时间而增长,则最好是设置额外的资源缓冲,使应用程序不会达到性能级别限制。 如果增加计算大小,则有助于避免当数据库没有足够能力有效处理请求(尤其是在易受延迟影响的环境中)时向客户显示错误。 例如,如果数据库支持的应用程序根据数据库调用结果绘制网页,则属于这种情况。

其他应用程序类型对同一图形可能有不同的解释。 例如,如果某个应用程序尝试每天处理工资数据并使用相同的图表,则在 P1 计算大小也许就能让此类“批处理作业”模型正常工作。 P1 计算大小有 100 个 DTU,P2 计算大小有 200 个 DTU。 P1 计算大小提供的性能是 P2 计算大小的一半。 因此,P2 级别 50% 的 CPU 使用率相当于 P1 级别 100% 的 CPU 使用率。 如果应用程序没有设置超时,则即使有作业耗时 2 小时或 2.5 小时才完成也无关紧要,只要今天完成即可。 此类别中的应用程序可能使用 P1 计算大小。 一个事实是,白天有几个时段的资源使用率较低,因此可充分利用这一点,将“大高峰”作业分配一部分到当天晚些时候的某个资源使用低谷。 只要作业可以每天按时完成,P1 计算大小就适用于该类型的应用程序(且节省费用)。

数据库引擎在每个服务器的 master 数据库的 sys.resource_stats 视图中,公开每个活动数据库的资源耗用信息 。 表中的数据以 5 分钟为间隔收集而得。 对于“基本”、“标准”和“高级”服务层级,数据可能需要再耗费 5 分钟才会出现在表中,以使此数据更有利于历史分析而非接近实时的分析。 查询 sys.resource_stats 视图,以查看数据库的最近历史记录和验证你选择的预留是否提供了所需的性能。

SQL SERVER活动监视器资源等待_SQL SERVER活动监视器资源等待_02