4

我们正在使用 SQL Azure,我们的数据库在弹性池中。它有以下参数:

  • 整个池允许的 DTU 数量为 400。
  • 每个数据库允许的最大 DTU 数为 100。
  • 池中的数据库数量为 50

简单地说,50 个数据库中有 4 个可以同时处于峰值负载。

问题是 - 如果 4 个数据库处于峰值负载而第 5 个也达到峰值负载会发生什么?

第 5 个会获得 0 个 DTU(因此查询会超时)还是弹性池会更有效地分配 DTU(每个数据库获得 400 / 5 = 80 个 DTU)?

4

1 回答 1

3

据我所知,您估计可以达到限制的数据库数量不正确。可以同时达到其 eDTU 限制的数据库数量是数据库的 2/3(或 67%)。但这是考虑到您估计池所需的 eDTU 如下:

  1. MAX([DB 总数 X 每个 DB 的平均 DTU 利用率],[并发峰值 DB 的数量 X 每个 DB 的峰值 DTU 利用率)]

  2. 您还应该通过添加池中所有数据库所需的字节数来估计池所需的存储空间。然后确定提供此存储量的 eDTU 池大小。

  3. 最后,您应该找到大于前 2 个 eDTU 计算中最大的 eDTU 池大小

如果您使用此数学方法计算 eDTU 池大小,则不仅 4,而且 2/3 的数据库都可以达到每个数据库的限制 eDTU。

于 2018-03-10T05:07:50.763 回答