0

我们在负载下的 Azure 函数上遇到性能问题,在调用 Azure 函数和执行函数中的代码之间存在延迟时间。

应用程序洞察中 Azure 函数调用的第一个日志条目说:

Function started (Id=6e2a7c0e-7190-4f4b-a146-9b957b49f4aa)

在那之后,在我们的代码的第一个日志之前有几秒钟的随机延迟,这是我们函数中的第一行代码。

我们只看到这种负载滞后。

Function App 在具有高级定价层的应用服务计划下运行。这些函数都是 HTTP 触发器。

任何想法为什么会发生这种情况以及“功能启动”日志的含义是什么?

4

2 回答 2

1

这是一个常见的“问题”,称为冷启动:

冷启动是最近未调用的函数的延迟增加。

您可以在此处找到有关它的完整说明:https ://azure.microsoft.com/en-au/blog/understanding-serverless-cold-start/

如果您的业务不接受它,您应该升级到永久加热实例的高级计划。更多信息在这里:https ://docs.microsoft.com/en-us/azure/azure-functions/functions-premium-plan

于 2019-10-23T13:54:16.283 回答
0

就像 Thiago 所说的那样,这是一个冷启动,如果您认为 .NET 应用程序的启动时间不好,您应该尝试使用 Node 功能!

要消除此问题,您可以通过在门户中的应用服务上转到配置 -> 常规设置将“始终开启”设置为“开启”。你的应用服务计划中需要一个基本或更高的层级,看起来你已经拥有了。

于 2019-10-23T15:17:38.510 回答