当每4分钟发送一次保持活动请求时,Azure功能仍然是消费计划中的"冷启动"

Wil*_*ang 8 .net .net-core azure-functions

我已经阅读了Understanding Serverless Cold Start | Azure App Service团队博客文章.其中一条评论说,您可以通过每隔4分钟间隔从Azure Logic应用程序调用函数来避免消费计划中的冷启动.

我试图每4分钟向我的应用程序的一个功能发出1个请求,但这并不总是有效.它有时仍然冷启动.我知道这是一个黑客.有没有更好的方法来确保应用程序在使用消费计划时始终运行?

Mik*_*kov 9

我尝试在Azure函数中的Cold Starts Beyond First Request一文中回答这个问题.

简而言之,似乎没有办法完全避免冷启动.保持活动状态会使给定实例的生命周期更长,但不会无限期地延长.

目前,Cold Starts似乎是FaaS实现的真正问题,它们会随着时间的推移而得到优化,但可能您无法将它们降低到0.


Joy*_*ang 5

根据这篇文章,我们可以使用事件网格触发器来避免冷启动延迟。

笔记

当您在消耗计划中使用 blob 触发器时,如果函数应用空闲,处理新 blob 可能会出现长达 10 分钟的延迟。函数应用运行后,会立即处理 blob。为避免这种冷启动延迟,请使用启用了 Always On 的应用服务计划,或使用事件网格触发器。

有关避免冷启动延迟的更多详细信息,请参阅两篇文章12