gpt4 book ai didi

sql - 更新和删除查询在 Azure 托管实例中运行需要更长的时间

转载 作者:行者123 更新时间:2023-12-03 06:49:29 26 4
gpt4 key购买 nike

我正在将数据仓库从我们的本地解决方案迁移到 Azure。本地解决方案的夜间加载过程需要三到四个小时才能运行,具体取决于传入的数据。我正在尝试迁移到 Azure 实现,同时尽可能少地进行更改,因此本地运行的代码和 Azure 中运行的代码是相同的。使用相同的源数据并运行相同的代码,Azure 进程需要七个多小时才能完成相同的夜间负载。

我已经开始调查主要瓶颈,它们似乎是更新表中数据或从表中删除数据的查询。由于这些查询是在 Azure 实例上运行,针对 Azure 实例中已有的数据,因此数据延迟似乎不太可能造成太大问题。使用 Azure 实例和本地服务器中的查询存储,我发现在两者上运行的查询是相同的,并且生成相同的执行计划,但 Azure 中的查询花费的时间明显更长。

本地数据库和Azure中的数据库都处于完全恢复模式,因此我认为不存在日志记录时间差异。内部部署和 Azure 中的内存和处理器类似,但 Azure 实际上有更多可用内存。我不确定还需要寻找什么作为系统之间的差异。我是 Azure 的新手,一直在深入研究文档,但尚未发现任何有用的内容。我正在 Azure 中查找导致长时间更新和删除事务的某些设置或配置。

最佳答案

我们最终确定的是,我们遇到了文件吞吐量和内存限制的问题,因为 Azure 中的内存与托管实例上的 CPU 数量相关。吞吐量问题是最难确定的,因为我们发现插入/更新语句的等待时间是最长的等待时间,并且吞吐量是原因并不明显。通过调整文件大小,我们能够增加最大吞吐量和 IOPS,如本页所述 https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/resource-limits?view=azuresql

此外,增加核心总数并转向高级系列 - 内存优化 - 英特尔 Ice Lake、13.6 GB RAM/vCore 硬件配置显着改善了运行时间。通过实现这些更改,我们发现运行时间从大约 12 小时减少到 3 小时。

我们确定的 SQL 托管实例的最终配置是为了平衡性能和成本。通过以下配置,我们能够将流程的总运行时间平均缩短为三个多小时。

服务层:通用(4-64 个 vCore、32 GB-16 TB 存储容量、快速存储)- 适用于大多数生产工作负载

计算机硬件硬件一代:Premium 系列 - 内存优化 - Intel Ice Lake,13.6 GB RAM/vCorevCores:16GB 存储空间:4640

以 GB 为单位的存储空间比容纳服务器的所有数据所需的要大,但是为了获取服务器上两个数据库的日志和数据文件,每个数据库都超过 1 GB,我们必须增加上述存储空间4GB。 1 GB 文件阈值是我们在吞吐量和 IOPS 方面看到重大改进的地方。

我们发现对于解决此问题有用的其他链接。

https://azure.microsoft.com/en-us/blog/key-causes-of-performance-differences-between-sql-managed-instance-and-sql-server/

https://medium.com/azure-sqldb-managed-instance/log-rate-throughput-cap-on-managed-instance-bbf29aa19f80

https://techcommunity.microsoft.com/t5/azure-sql-blog/how-to-improve-data-loading-performance-on-sql-managed-instance/ba-p/3064534

资源限制和文件大小

https://techcommunity.microsoft.com/t5/azure-sql-blog/announcing-major-performance-improvements-for-azure-sql-database/ba-p/1701256

关于sql - 更新和删除查询在 Azure 托管实例中运行需要更长的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73829791/

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