gpt4 book ai didi

Azure Function 插槽已预热,但仍经历冷启动

转载 作者:行者123 更新时间:2023-12-05 04:59:17 24 4
gpt4 key购买 nike

对于我们的 Azure 功能,我们使用自动插槽交换功能和以下应用程序设置,以确保我们的插槽在上线前预热:

WEBSITE_OVERRIDE_PRESERVE_DEFAULT_STICKY_SLOT_SETTINGS = 1 
WEBSITE_SWAP_WARMUP_PING_PATH = "/api/healthcheck"
WEBSITE_SWAP_WARMUP_PING_STATUSES = "200"

这会导致我们的 ADO 管道调用运行状况检查端点(已确认),并且仅在成功时才将插槽交换为事件状态。

问题是,这一切发生之后,在我们收到响应之前,请求会等待很多秒。此后的任何请求几乎都是即时的。此行为对于每次部署都是一致的。

我们不希望出现这种情况,因为我们知道在运行状况检查端点被命中时,暂存槽会被预热,然后该槽会被交换到生产中。那么为什么我们会遇到这种冷启动延迟呢?我们甚至可以在插槽交换完成后等待一两分钟,并且我们总是体验到它。

是否发生了一些奇怪的事情,例如,一旦插槽进入生产状态,就需要在预热之前再次点击它?

最佳答案

This可能对你有帮助。

After slot swaps, the app may experience unexpected restarts. This is because after a swap, the hostname binding configuration goes out of sync, which by itself doesn’t cause restarts. However, certain underlying storage events (such as storage volume failovers) may detect these discrepancies and force all worker processes to restart. To minimize these types of restarts, set the WEBSITE_ADD_SITENAME_BINDINGS_IN_APPHOST_CONFIG=1 app setting on all slots

如果将变量WEBSITE_ADD_SITENAME_BINDINGS_IN_APPHOST_CONFIG设置为1,您应该能够摆脱冷启动,这是由重新启动主机引起的。但是,请注意,在槽函数期间,处理请求的速度可能会非常慢。

您还可以查看this github issue您可以在其中找到有关零停机部署的讨论。

关于Azure Function 插槽已预热,但仍经历冷启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63576060/

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