我正在使用azure数据工厂v2在上执行数据加载。我开始了数据加载& DB被设置为标准定价层,有800个DTU。它是缓慢的,所以我增加了DTU到1600。(我的管道自7小时以来仍在运行)。
我决定改变定价等级。我将定价级别改为Premium,DTU设置为1000。(我没有做任何额外的改变)。
管道因失去连接而失败。我重新运行了管道。
现在,当我监视管道的时候,它工作得很好。当我监视数据库的时候。DTU的平均使用率不超过56%。
我正在处理大量的数据。我怎样才能加快这一进程?
我想DTU一定会最大限度地发挥出来。但平均利用率在56%左右。
发布于 2019-08-21 03:05:01
请遵循这份文件复制活动性能和可伸缩性指南。
本教程为我们提供了性能调优步骤。
其中一种方法是使用更多的DTU来增加Azure SQL数据库层。您增加了Azure SQL数据库层,增加了1000个DTU,但平均利用率约为56%。我想你不需要那么高的价格。
您需要考虑其他提高性能的方法。例如设置更多的数据集成单位(DIU)。
数据集成单元()是表示Azure数据工厂中单个单元的功率( CPU、内存和网络资源分配的组合)的度量。数据集成单元仅适用于Azure集成运行时,而不适用于自托管集成运行时。
希望这能有所帮助。
发布于 2019-08-27 05:28:53
Microsoft的标准回答似乎是,您需要对目标数据库进行调优,或者将其扩展到更高的级别。这表明Azure Data并不是复制性能的限制因素。
然而,我们已经对单个表、单个复制活动、15 GB的数据进行了一些测试。该表不包含varchar(max)、高精度、简单和简单的数据。
结论:无论您选择哪种层次(当然不太低),大约在S7 /800DTU以上,8个vcores,拷贝活动的性能是10 MB/s,没有上升。目标数据库上的负载为50%-75%。
我们的假设是,由于我们可以继续使用更高的数据库层来解决这个问题,但是在复制活动性能方面没有看到任何改进,这是与Azure database相关的。
我们的解决方案是,因为我们正在加载许多单独的表,所以我们将扩展,而不是通过一个for每个循环和一个批计数设置为至少4来进行扩展。
增加DIU的方法只适用于某些情况:https://learn.microsoft.com/en-us/azure/data-factory/copy-activity-performance#data-integration-units
目前只有当您将多个文件从Azure存储、Azure Data Lake、Amazon S3、、cloud或cloud复制到任何其他云数据存储时,才会应用大于4的DIUs设置。
在我们的例子中,我们正在从关系数据库中复制数据。
https://stackoverflow.com/questions/57583716
复制相似问题