我们在负载下遇到Azure函数的性能问题,在Azure函数的调用和函数中的代码执行之间存在时间延迟。
“应用程序见解”中Azure函数调用的第一个日志条目显示:
Function started (Id=6e2a7c0e-7190-4f4b-a146-9b957b49f4aa)
此后,从我们代码的第一个日志(我们函数的第一行代码)开始会有几秒钟的随机延迟。
我们只看到这种负载延迟。
Function App在具有高级定价层的App Service计划下运行。这些功能都是HTTP触发器。
有什么想法可能会发生这种情况以及“功能已启动”日志的含义是什么?
答案 0 :(得分:1)
这是一个常见的“问题”,称为冷启动:
冷启动是未启用的功能的延迟增加 最近被打了。
您可以在此处找到有关此内容的完整说明:https://azure.microsoft.com/en-au/blog/understanding-serverless-cold-start/
如果您的企业不接受该计划,则应升级到永久预热实例的高级计划。有关此信息的更多信息,请点击此处:https://docs.microsoft.com/en-us/azure/azure-functions/functions-premium-plan
答案 1 :(得分:0)
就像Thiago所说的那样,这是一个冷酷的开始,如果您发现.NET应用程序的启动时间不好,则应尝试使用Node函数!
要消除此问题,您可以通过转到门户网站App Service上的Configuration-> General Settings来将“ Always On”设置为“ On”。您的App Service Plan中需要一个Basic或更高的层,看起来您已经拥有了。