3
votes

We are using SQL Azure and we have our databases in Elastic pool. It has following parameters:

  • Number of DTUs allowed for the entire pool is 400.
  • Maximum allowed DTUs per database is 100.
  • Number of databases in pool is 50

Simply said 4 of 50 databases can be at its peak load at the same time.

Question is - what happens if 4 databases are at its peak load and 5th gets to peak load too?

Will 5th get 0 DTUs (and thus queries will time out) or will elastic pool distribute DTUs more effectively (that each database gets 400 / 5 = 80 DTUs)?

1

1 Answers

2
votes

To my knowledge the number of the databases you estimated that can peak the limit is not correct. The number of databases that can simultaneously peak to their eDTU limit is 2/3 (or 67%) of the databases. But that is considering you estimated the eDTUs needed for the pool as follows:

  1. MAX( [Total number of DBs X average DTU utilization per DB], [Number of concurrently peaking DBs X Peak DTU utilization per DB)]

  2. You should also estimate the storage space needed for the pool by adding the number of bytes needed for all the databases in the pool. Then determine the eDTU pool size that provides this amount of storage.

  3. Finally you should then find the smallest eDTU pool size that is greater than the biggest of the previous 2 eDTUs calculations

If you this math to calculate the eDTU pool size, not only 4 but 2/3 of your databases can reach the limit eDTU per database.