每个数据库的SQL Azure弹性池最大DTU

时间:2018-03-09 22:56:46

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

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

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

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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

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

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

  4. 如果您计算eDTU池大小,那么不仅4个而且2/3的数据库可以达到每个数据库的eDTU限制。