Azure SQL数据库DTU指标

时间:2018-11-27 20:43:32

标签: sql-server azure azure-sql-database

我正在使用Azure的指标图表来查看将两个数据库合并到一个池中是否可行。这两个数据库当前位于S3层。

第一个图表是最近30天使用MAX()聚合函数的“使用DTU”度量标准的结果。可以看出,在几个时间间隔内,“使用的DTU”达到了接近100。

第二个是使用SUM()聚合函数的“使用DTU”量度的结果。期间与第一张图表相同。

我发现这很奇怪,因为观察第二张图表似乎从未出现过如此接近100的使用高峰。即使两个基准的“已使用DTU”之和似乎也从未达到40。

enter image description here

我对图形解释有些困惑,我应该相信第二种吗?在第二种情况下,将这两个数据库合并到一个100 eDTU池中似乎可行吗?

设置Azure SQL数据库指标图表进行此分析的最佳方法是什么?

2 个答案:

答案 0 :(得分:2)

Max()返回该时间段内的最大值。

Sum()返回该时间段内平均值的总和。 对于单个数据库的DTU,SUM()和Avg()返回相同的结果。

鉴于粒度为1分钟,使用DTU的触摸仅在1秒内达到100%,而在其他59秒内达到60%,则函数返回如下:

最大:100%

总和(平均):(100 + 59 * 60)/ 60 = 61.7%

弹性池适用于具有不同使用模式的数据库。

似乎您应该考虑缩小规模,而不是迁移到弹性池。

有关更多详细信息,请参阅以下内容:

https://docs.microsoft.com/en-us/azure/sql-database/sql-database-elastic-pool#when-should-you-consider-a-sql-database-elastic-pool

答案 1 :(得分:1)

请注意,默认情况下在数据库概述刀片上显示的DTU图表呈现了聚合指标,并且默认情况下以1小时粒度显示。

要获取更精细的指标,请在数据库菜单中依次选择“监视”,“指标”,并在其中构建自己的CPU图表-选择CPU,并在24小时内选择“时间粒度”-选择此项为1分钟,请套用。

还请注意,您可以选择该1分钟内的CPU最大/最小和平均值。由于1分钟(60秒)是最好的粒度,因此,例如,如果您选择max,则即使CPU触摸100%(即使1秒钟),也将在整个分钟内显示100%。最好的办法是使用平均值。在这种情况下,将以该1分钟指标显示60秒的平均CPU使用率。

我希望这有助于了解DTU指标图表如何在选定时间段内显示汇总值,以及如何对其进行自定义以显示1分钟的更细粒度。