gpt4 book ai didi

Azure Functions Premium 计划在不活动或部署后仍具有冷启动功能

转载 作者:行者123 更新时间:2023-12-03 20:58:14 27 4
gpt4 key购买 nike

我使用 Azure CLI 创建了一个带有 HTTP 触发器的简单 Hello World 函数,并将其部署到北欧的 Azure。代码可见GitHub 。我指定了 EP2 SKU(高级计划),其中包含 3 个最低实例和 3 个预热实例。我还创建了一个暂存槽,我可以将其部署到生产中并将其与生产交换。

# Create a Premium plan with EP2
az functionapp plan create \
--name $plan \
--resource-group $resourceGroup \
--location $location \
--min-instances 3 \
--max-burst 5 \
--sku EP2

# Create the Function App
az functionapp create \
--name $functionAppName \
--storage-account $storageName \
--plan $plan \
--resource-group $resourceGroup

# Create a staging slot
az functionapp deployment slot create \
--name $functionAppName \
--resource-group $resourceGroup \
--slot staging

# Configure for 3 pre-warmed instances
az resource update -g $resourceGroup -n $functionAppName/config/web \
--set properties.preWarmedInstanceCount=3 \
--resource-type Microsoft.Web/sites

创建资源的完整 CLI 代码可以在 GitHub 上看到。

我仍然遇到冷启动和 Not Acceptable 可变响应时间(在 Azure 门户的 HTTP 触发器监视器部分中报告):

  • 热态时的平均功能响应时间:3-4ms
  • 空闲后:最多一秒
  • 从暂存到生产交换时,即使暂存已预热:250-500 毫秒
  • 随机、最长响应时间长达一秒

我的配置有问题吗?对于高级计划中的 Azure Functions,这不是预期的行为。

最佳答案

对于这个问题,我在我这边测试了一下,结果和你的一样。即使我设置了预热实例,当功能空闲时,响应时间也会更长。

但在我的测试中,如果增加预热实例,响应时间将会减少。那么您能否尝试增加预热实例并在空闲后再次请求您的功能?您可以按照以下步骤配置预热实例的数量:

转到函数应用并点击“平台功能”-->“所有设置”-->“横向扩展(应用服务计划)”

如果没有减少响应时间或者增加预热实例后响应时间仍然不能满足您的要求。我建议您按照此 link 在 Azure 门户上提出支持票证。支持团队可以查看您函数的后端代码并尝试为您提供帮助。

关于Azure Functions Premium 计划在不活动或部署后仍具有冷启动功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59820442/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com