首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >并行运行Azure持久函数的问题

并行运行Azure持久函数的问题
EN

Stack Overflow用户
提问于 2022-04-21 09:47:57
回答 1查看 264关注 0票数 0

我试图并行地运行对Azure持久函数的每个API调用。它只执行一个调用就可以了,但是当我一次得到多个调用(比如10)时,它首先开始运行所有的10个请求。然后,当orchestrator函数调用执行主要工作的活动函数时,它只会开始执行一些请求(根据我的host.json而定),并等待大约5分钟才能与其余的请求一起运行活动函数。

应该注意的是,我的活动功能大约需要3-3,5分钟才能运行,并且是大量CPU使用和I/O操作的混合体。

我已经多次尝试调整我的参数(将它们设置为1,并将它们设置为最大),但是似乎没有什么可以修复它。我的host.json看起来是这样的:

代码语言:javascript
复制
{
  "version": "2.0",
  "logging": {
    "applicationInsights": {
      "samplingSettings": {
        "isEnabled": true,
        "excludedTypes": "Request"
      }
    }
  },
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[2.*, 3.0.0)"
  },
  "functionTimeout": "00:10:00",
  "extensions": {
    "durableTask": {
      "maxConcurrentActivityFunctions": 10,
      "maxConcurrentOrchestratorFunctions": 20,
      "storageProvider": {
        "controlQueueBatchSize": 5,
        "controlQueueBufferThreshold": 5
      }
    },
    "http": {
      "routePrefix": "api",
      "maxConcurrentRequests": 5
    }
  }
}

我的Azure配置使用:

FUNCTIONS_WORKER_PROCESS_COUNT: 10

PYTHON_THREADPOOL_THREAD_COUNT: 10

EN

回答 1

Stack Overflow用户

发布于 2022-04-23 18:36:12

我的经验是,大多数持久功能的可伸缩性都是在活动级别进行的。

正如您所说的,听起来您有一个Orchestrator,它运行一个长时间运行的活动,并且您正在尝试在orchestrator级别获得可伸缩性。

在您的场景中,是否可能有一个http请求触发器表示几个工作项(json有效负载包含足够多个工作项的数据),然后协调器可以使用文档完整的扇扇模式并行运行这些工作项吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71952342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档