简体   繁体   English

Azure弹性数据库池扩展持续时间查询

[英]Azure elastic database pool scaling duration query

We currently have an elastic pool of databases in Azure that we would like to scale based on high eDTU usage. 当前,我们在Azure中拥有一个弹性的数据库池,我们希望基于高eDTU使用率对其进行扩展。 There are 30+ databases in the pool and they currently use 100GB of storage (although this is likely to increase). 池中有30多个数据库,它们当前使用100GB的存储空间(尽管这可能会增加)。

We were planning on increasing the eDTU's allocated to the pool when we detect high eDTU usage. 我们计划在检测到高eDTU使用率时增加分配给池的eDTU。 However a few posts online have made me question how well this will work. 但是,在线上的一些帖子使我怀疑这将如何运作。 The following quote is taken from the azure docs - https://docs.microsoft.com/en-us/azure/sql-database/sql-database-resource-limits 以下引文摘自Azure文档-https: //docs.microsoft.com/zh-cn/azure/sql-database/sql-database-resource-limits

The duration to rescale pool eDTUs can depend on the total amount of storage space used by all databases in the pool. 重新调整池eDTU的持续时间可以取决于池中所有数据库使用的存储空间总量。 In general, the rescaling latency averages 90 minutes or less per 100 GB. 通常,重新缩放延迟平均为每100 GB 90分钟或更短时间。

If i am understanding this correctly this means that if we want to increase the eDTUs we will have to wait for on average 90 minutes per 100GB. 如果我正确理解这一点,则意味着如果我们要增加eDTU,则每100GB平均需要等待90分钟。 If this is the case scaling dynamically won't be suitable for us as 90 minutes to wait for an increase in performance is far too long. 如果是这种情况,动态扩展将不适合我们,因为等待90分钟才能提高性能太长了。

Can anyone confirm if what i have said above is correct? 任何人都可以确认我上面所说的是否正确? And are there any alternative recommendations to increase eDTUs dynamically without having to wait for such a long period of time? 是否有其他建议可以动态增加eDTU,而不必等待这么长时间?

This would also mean if we wanted to scale based on a schedule, ie scale up eDTUs at 8am we would actually have to initiate the scaling at 6:30am to allow for the estimated 90mins of scaling time - if my understanding of this is correct. 这也意味着,如果我们想根据时间表进行扩展,即在上午8点扩展eDTU,我们实际上必须在上午6:30开始扩展,以允许估计的90分钟扩展时间-如果我对这是正确的话。

When you scale the pool eDTUs, Azure may have to migrate data (this is a shared database service). 扩展池eDTU时,Azure可能必须迁移数据(这是共享数据库服务)。 This will take time, if required. 如果需要,这将需要时间。 I have seen scaling being instant and I have seen it take a lot of time. 我已经看到缩放是即时的,并且已经花了很多时间。 I think that Microsoft's intent is to offer cost savings via Elastic Pools and not the thru ability to quickly change eDTUs. 我认为Microsoft的目的是通过Elastic Pools节省成本,而不是通过快速更改eDTU的直通能力。

The following is the answer provided by a Microssoft Azure SQL Database manager: 以下是Microssoft Azure SQL数据库管理器提供的答案:

For rescaling a Basic/Standard pool within the same tier, some service optimizations have occurred so that the rescaling latency is now generally proportional to the number of databases in the pool and independent of their storage size. 为了在同一层中对基本/标准池进行重新缩放,已经进行了一些服务优化,因此重新缩放延迟现在通常与池中的数据库数量成比例,并且与它们的存储大小无关。 Typically, the latency is around 30 seconds per database for up to 8 databases in parallel provided pool utilization isn't too high and there aren't long running transactions. 通常,如果池利用率不太高并且没有长时间运行的事务,则最多可以并行处理多达8个数据库的每个数据库30秒左右的延迟。 For example, a Standard pool with 500 databases regardless of size can often be rescaled in around 30+ minutes (ie, ~ 500 databases * 30 seconds / 8 databases in parallel). 例如,一个具有500个数据库的标准池,无论其大小如何,通常都可以在大约30+分钟内重新调整规模(即,约500个数据库* 30秒/ 8个并行的数据库)。

In the case of a Premium pool, the rescaling latency is still proportional to size-of-data. 对于高级池,重新缩放延迟仍然与数据大小成比例。

This Azure SQL Database manager promised to update Azure documentation as soon as they finish implementing more improvements. 这位Azure SQL数据库管理员承诺在完成更多改进后立即更新Azure文档。

Thank you for your patience waiting for this answer. 感谢您耐心等待这个答案。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM