sql-server - Azure SQL 数据库 DTU 指标
问题描述
我正在使用 Azure 的指标图表来查看将两个数据库合并到一个池中是否可行。这两个数据库目前位于 S3 层。
第一个图表是过去 30 天内使用 MAX() 聚合函数的“DTU Used”指标的结果。可以观察到,在几个时间间隔内,“DTU Used”接近 100。
第二个是使用 SUM () 聚合函数的“DTU Used”度量的结果。周期与第一张图表相同。
我觉得很奇怪,因为观察第二张图表似乎从未有过接近 100 的使用峰值。甚至两个碱基的“DTU Used”之和似乎也从未达到 40。
我对图形解释有点困惑,我应该相信第二个,在一个 100 eDTU 池中加入这两个数据库似乎可行?
设置 Azure SQL 数据库指标图表以进行此分析的最佳方法是什么?
解决方案
Max() 返回时间段内的最大值。
Sum() 返回时间段内的平均值之和。对于单个数据库的 DTU 使用,SUM() 和 Avg() 返回相同的结果。
假设粒度为 1 分钟,DTU-used 仅在 1 秒内触摸 100%,在其他 59 秒内触摸 60%,函数返回如下:
最大:100%
总和(平均):(100 + 59 * 60)/60 = 61.7%
弹性池适用于具有不同使用模式的数据库。
看来您应该考虑缩小规模,而不是迁移到弹性池。
更多详情,请参阅以下内容:
推荐阅读
- node.js - 从 NodeJS、NLP 中的文本中提取人名
- node.js - 没有 --experimental-modules 标志,使用 import 的 Node.js 不起作用
- python - 如何在倒计时计时器中显示倒计时
- javascript - 我应该隐藏位于 package.json 中的 API 端点作为代理吗
- java - JAVA检查字符串是否不包含字符串数组中的子字符串,
- firebase - Firebase 上的内容权限管理
- java - 有没有办法使用安全规则检查 Cloud Firestore 集合的大小?
- java - 我应该如何在 Java Web 应用程序中存储持久数据?
- react-native - 我可以将数组传递给 React Native ScrollView 吗?
- java - 获取 ArrayBlockingQueue 的容量