sql-server - Azure SQL 数据库 DTU 指标

标签 sql-server azure azure-sql-database

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

第一个图表是过去 30 天内使用 MAX() 聚合函数的“DTU 使用”指标的结果。可以观察到,在几个时间间隔内,“已使用的 DTU”达到接近 100。

第二个是使用 SUM () 聚合函数的“DTU 使用”指标的结果。周期与第一个图表相同。

我觉得很奇怪,因为观察第二张图表,似乎从来没有出现过接近100的使用峰值。甚至两个基数的“DTUUsed”总和似乎也从未达到过40。

enter image description here

我对图形解释有点困惑,我应该相信第二个,在一个 100 eDTU 池中加入这两个数据库似乎可行吗?

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

最佳答案

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

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

假设粒度为 1 分钟,DTU 仅在 1 秒内达到 100%,其余 59 秒达到 60%,函数返回如下:

最大值:100%

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

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

看来你应该考虑缩小规模,而不是迁移到弹性池。

更多详情,请参阅以下内容:

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

关于sql-server - Azure SQL 数据库 DTU 指标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53507835/

相关文章:

sql-server - 如何获取用户的默认语言?

sql - MS SQL 临时表循环

sql - 创建计算列并舍入

azure - Azure Monitor 警报评估频率的查询

sql - 如何在 SQL Azure 中跨数据库查询

c# - sql本地数据库连接

c# - 使用密码和 Azure Active Directory 身份验证的 Asp.net Identity

python - Azure Artifacts 源上的 Python 包的最佳实践

azure - 获取-AzResourceGroup : 'this.Client.SubscriptionId' cannot be null

azure - Azure中有没有可以引用的表来获取分区名称?