【问题标题】:Azure Durable Function CPU resourcesAzure 持久函数 CPU 资源
【发布时间】:2021-09-24 03:47:39
【问题描述】:

我是持久函数的新手,并且已经设置了一个基于消费(无服务器)的函数计划,其中我安装了一个持久函数。

该函数用于计算大量数学方程并将结果写入数据矩阵。使用 4 个内核(8 个处理器)运行通常需要 1 到 5 分钟。输出写入 MySql 数据库,由客户端应用轮询以检索更新和结果。

一切正常,直到我尝试对其进行缩放...

我注意到每次运行它时,它都会提供对两个处理器的访问。但是,如果我同时从两个客户端调用它两次,那么每个客户端似乎只获得 1 个处理器并且它以一半的速度运行。三个客户端调用需要更长的时间......那么扩展在哪里?

请注意,我尝试过扇出,但这太慢了(可能是因为计算中的数据量很大)。

我的问题是:-

当它扩展到 100 个并发呼叫时会发生什么?

有没有更有用的计划让我每次执行最少 N 个处理器?

它可能会同时调用 500 甚至 1000 个……Azure 可以应付吗?

我考虑过设置 100 个相同的函数(显然具有不同的名称)并为每个客户端依次调用它们……这可行吗?如果是这样,那么需要它似乎很奇怪。

【问题讨论】:

    标签: azure azure-durable-functions


    【解决方案1】:

    您能否尝试添加更多关于您观察到的函数应用的 CPU 和内存利用率的详细信息[请参阅 App Insights 刀片和实时指标]。持久函数有一些限制,比如它们需要是确定性的,而且持久任务框架在内部将状态存储在 Azure blob 存储表中,确保您已清除任何旧的、不需要的记录。我没有看到关于这个问题的活动,希望如果有人遇到类似情况,看看这些方面会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-17
      • 2021-03-21
      • 1970-01-01
      • 2019-07-02
      • 1970-01-01
      • 2020-10-27
      • 2011-01-15
      • 1970-01-01
      相关资源
      最近更新 更多