gpt4 book ai didi

azure - 更新 WEBSITE_RUN_FROM_PACKAGE 后部署速度非常慢

转载 作者:行者123 更新时间:2023-12-03 06:15:28 26 4
gpt4 key购买 nike

为了部署我的 Azure Function,我遵循了 Microsoft 目前看来的最佳实践。我使用代码将 zip 文件上传到 blob 存储,然后更新 Azure Function 上的 WEBSITE_RUN_FROM_PACKAGE 设置(具体来说,在部署槽上)

然后,一段时间后,最新版本就会部署。我可以通过查询 API 上的版本号来确认这一点。

这一切都有效!

但是,有时需要很长时间。在我最近的一次尝试中,花了超过 7 分钟。这不是一个非常大的包 (7 MB),包含大约 100 个函数端点。大多数时候大约需要 2 分钟,但有时需要更长的时间。

我的感觉是,大约有三分之一的时间需要很长时间。然后短时间(2 分钟)约 3 次中的 2 次。

有谁知道为什么它大多数时候效果不佳?和/或知道如何解决这个问题。我不知道在哪里或是否可以访问有关该函数如何发现新包文件以及它正在等待什么的任何日志。

--

编辑:我通过 CLI 在部署日志中找到了这一点。

  {
"active": true,
"author": "N/A",
"author_email": "N/A",
"complete": true,
"deployer": "Push-Deployer",
"end_time": "2023-05-20T13:51:52.9356458Z",
"id": "89feddbf-c575-4d32-b795-d3d6111ecee5",
"is_readonly": true,
"is_temp": false,
"last_success_end_time": "2023-05-20T13:51:52.9356458Z",
"log_url": "https://appname-slotname.scm.azurewebsites.net/api/deployments/8feddbf-c575-4d32-b795-d3d6111ecee5/log",
"message": "Created via a push deployment",
"progress": "",
"received_time": "2023-05-20T13:51:31.0878136Z",
"site_name": "appname",
"start_time": "2023-05-20T13:51:32.9850841Z",
"status": 4,
"status_text": "",
"url": "https://appname-slotname.scm.azurewebsites.net/api/deployments/8feddbf-c575-4d32-b795-d3d6111ecee5"
}

我猜测“事件”意味着此部署当前是在部署槽上运行的部署。这很合适,因为我的新部署需要很长时间,直到实际完成前不久才会出现在这里。

我尝试手动重新启动部署槽并手动保存应用设置,没有任何区别。

最佳答案

你是对的,从包运行函数应用部署可以使部署更快。但还有其他几个因素您应该考虑。当您将 Zip 从 Blob 存储传输到 Azure Functions 时,传输过程中 Azure 存储帐户和 Azure Functions 资源之间可能会出现一些延迟。

如果您的函数应用程序具有依赖项或某些包,这些包的部署可能会出现一些延迟,因此请确保正确管理函数依赖包。

您可以考虑将功能应用升级到高级计划或专用应用服务计划,因为高级功能计划可减少冷启动并始终提供就绪实例,这使您的部署和功能运行速度比基于消耗的计划更快。请参阅以下内容:-

enter image description here

作为最佳实践,将 WEBSITE_RUN_FROM_PACKAGE 设置设置为 1,添加以下设置以使部署速度更快:-

引用:- MS问答论坛answer作者:MayankBargali-MSFT

SCM_DO_BUILD_DURING_DEPLOYMENT : TRUE

enter image description here

我使用以下命令通过 zip 部署部署了一个函数:-

命令reference

az functionapp deployment source config-zip -g siliconrg54 -n
siliconfunc65 --src "<PATH>\repos\FunctionApp7.zip"

enter image description here

为了查看 zip 部署的部署日志,请参阅以下内容:-

访问开发工具 > 高级工具 > Go > Kudu 环境将打开,如下所示:-

enter image description here

您可以单击 REST API 部分下面的链接来深入了解您的部署。

要获取部署日志 > 单击“工具”>“诊断转储”,所有诊断日志(包括部署日志)都将下载到本地,请参阅以下内容:-

enter image description here

enter image description here

您可以选择下载的转储 > 日志文件 > Monaco > 并获取您的函数的部署时间戳日志,如下所示:-

enter image description here

Kudu 工具中,您可以单击“工具”>“Zip 推送部署”来检查您的 zip 部署日志,如下所示:-

Zip Push Deployment reference

enter image description here

enter image description here

You can refer this answer by MayankBargali-MSFT and this Azure Functions Best Practices

关于azure - 更新 WEBSITE_RUN_FROM_PACKAGE 后部署速度非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76296061/

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