gpt4 book ai didi

azure - 简单选择计数(id) 使用 100% 的 Azure SQL DTU

转载 作者:行者123 更新时间:2023-12-03 23:58:12 25 4
gpt4 key购买 nike

这开始于 this question但现在似乎更合适具体询问,因为我意识到这是一个与 DTU 相关的问题。

基本上,运行:

select count(id) from mytable

编辑:添加 where 子句似乎没有帮助。

运行需要 8 到 30 分钟(而 SQL Server 本地副本上的相同查询大约需要 4)。

下面是我运行此查询时 Azure 门户中 MONITOR 选项卡的屏幕截图。请注意,我在大约一周没有接触数据库后执行了此操作,Azure 报告我只使用了 1% 的 DTU。

enter image description here

一些额外的事情:

  • 在此特定测试中,查询运行需要 08:27 秒。
  • 在运行时,上图实际上显示 DTU 线在一段时间内处于 100%。
  • 数据库配置为 S1 性能级别的标准服务层。
  • 数据库约为 3.3GB,这是最大的表(计数返回约 2,000,000)。

我很感激这可能只是我的理解有限,但如果有人能澄清这是否真的是预期的行为(即简单的计数需要很长时间才能运行并最大化我的 DTU),我将不胜感激。

最佳答案

来自 previous question 中的查询统计信息我们可以看到:

300ms CPU time
8000 physical reads

8:30 大约是 500 秒。我们当然不受 CPU 限制。 300ms CPU 超过 500sec 几乎没有利用率。我们每秒获得 16 次物理读取。这远远低于任何物理磁盘所能提供的。此外,该表未完全缓存,物理 IO 的存在证明了这一点。

我想说你被限制了。 S1 corresponds

934 transactions per minute

有关事务的一些定义。大约是 15 事务/秒。也许您遇到了每笔交易一次物理 IO 的限制?! 15 和 16 是可疑的相似数字。

通过将实例升级到更高的比例因子来测试该理论。 You might find that SQL Azure Database cannot deliver the performance you want at an acceptable price.

您还应该发现,重复扫描表的一半会导致快速查询,因为分配的缓冲池似乎适合表的大部分(只是不是全部)。

关于azure - 简单选择计数(id) 使用 100% 的 Azure SQL DTU,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26073079/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com