Azure函数中的1.5 GB内存限制是否仅限于整个函数应用程序或每次函数调用?

Azure函数中的1.5 GB内存限制是否仅限于整个函数应用程序或每次函数调用?,azure,azure-functions,serverless,Azure,Azure Functions,Serverless,我正在设置一个Azure Function应用程序,它有多个计时器触发器,这些计时器触发器在同一时间或大约在同一时间触发。我对这里的措辞感到困惑: 消耗计划中主机功能的每个实例限制为1.5 GB内存和一个CPU。主机的一个实例是整个功能应用程序,这意味着功能应用程序中的所有功能都在一个实例中共享资源并同时扩展 这是否意味着使用计时器触发器执行的每个脚本都分配了1.5 GB内存,还是意味着所有脚本共享1.5 GB内存,同时运行?计划是一个虚拟概念,它基本上基于虚拟机。plan提供了您可以部署的计算

我正在设置一个Azure Function应用程序,它有多个计时器触发器,这些计时器触发器在同一时间或大约在同一时间触发。我对这里的措辞感到困惑:

消耗计划中主机功能的每个实例限制为1.5 GB内存和一个CPU。主机的一个实例是整个功能应用程序,这意味着功能应用程序中的所有功能都在一个实例中共享资源并同时扩展


这是否意味着使用计时器触发器执行的每个脚本都分配了1.5 GB内存,还是意味着所有脚本共享1.5 GB内存,同时运行?

计划是一个虚拟概念,它基本上基于虚拟机。plan提供了您可以部署的计算资源的规模。当您在计划上部署应用程序或功能时,它将使用一部分计算资源,您可以部署的总计算资源取决于您选择的计划提供的计算资源数量。如果您需要更多的计算资源或内存,请选择高级计划或应用服务计划


premium计划提供了三个定价层:如果您选择应用服务计划,您将有更多选择


显然,每个触发器不可能有1.5gb的内存。这意味着您的功能应用程序可以使用1.5gb。如果您需要更多内存,则需要选择高级计划或应用程序服务计划,并选择相应的定价层。

消费计划的记录方式有点混乱。 我运行了一个小测试,每分钟会填满10MB的内存,直到1GB

以下是3个实例同时运行的结果:


因此,在azure文档中,他们说每个实例1.5GB,实际上是每个实例,而不是函数应用程序的所有实例。

让我们用另一种方式回答您的问题:如果您希望应用程序中的多个函数同时执行,它们将共享1.5GB的内存限制。谢谢@FoggyDay。我确实希望我的应用程序能够同时执行多个功能,并最终超过1.5GB的内存限制。我想我可以通过在每个函数的不同时间执行计时器触发器来暂时解决这个问题,但随着数据的增长,这将变得更加困难。如果我需要更多的内存,你会推荐像应用服务计划或Azure批处理这样的替代方案吗?计划是一个虚拟概念,它基本上基于虚拟机。plan提供了您可以部署的计算资源的规模。当您在计划上部署应用程序或功能时,它将使用一部分计算资源,您可以部署的总计算资源取决于您选择的计划提供的计算资源数量。如果您想要更多的计算资源或内存,请选择premium计划或App Service plan。premium计划提供三个定价级别:如果您选择App Service plan,您有更多选择。您好,还有疑问吗?我已经发布了一个答案,如果你没有更多的疑问,我们可以结束这个问题吗?