【发布时间】:2021-01-05 18:54:37
【问题描述】:
我在 Azure Logic Apps 中有一个消耗一些 API 服务的流程,在 AzureLogicApps 中执行非常快,但是在 Azure DataFactory 中执行相同的流程时,流程变得慢得多,可能是什么原因?
ADF 中的进程在 ForEach 循环中运行
【问题讨论】:
标签: azure-data-factory azure-logic-apps
我在 Azure Logic Apps 中有一个消耗一些 API 服务的流程,在 AzureLogicApps 中执行非常快,但是在 Azure DataFactory 中执行相同的流程时,流程变得慢得多,可能是什么原因?
ADF 中的进程在 ForEach 循环中运行
【问题讨论】:
标签: azure-data-factory azure-logic-apps
对于这个问题,可能是数据工厂的for each循环导致的。在为每个循环请求 api 时,它可能会快速完成前几次。但是当循环多次时,完成每个请求会花费更多的时间。
您似乎在 azure api 管理中配置了 api。这个问题的根本原因是你原来的 api 可以在 1 秒内处理一个请求(只是举例)。但是每个循环(并行)都会发送许多请求来请求api。所以有些请求会被排队。您可以通过启用“Sequential”来设置每个循环以逐个执行请求,如下图所示。
这样配置后,请求会被一个一个执行。他们每个人都不会花费太多时间,但我认为总时间可能不会减少。
或者你应该提高你的 api 的负载(如果可能的话)以允许同时执行更多的请求。
【讨论】:
... 按钮,然后切换Concurrency Control。然后测试它是否也会在逻辑应用程序中执行缓慢。