Gra*_*ham 14 azure azure-functions
我们有一个简单的Azure函数来进行DocumentDB查询.这似乎是我们第一次称之为漫长的等待完成,然后连续的呼叫非常快.
例如,我刚打开我们的应用程序,第一个函数调用需要10760毫秒,任何最终用户都明显可以注意到.在此之后,所有函数调用大约需要100毫秒进行处理,几乎察觉不到.
好像Azure函数中有一些"唤醒"循环.是否有某种方法可以最大限度地减少这种情况,或者更好的方法是将其记录在某处,以便我们能够理解这里真正发生了什么?
Jes*_*ter 12
在消费计划上运行的功能应用确实具有空闲时间,之后它们有效地进入睡眠状态.下次调用需要按照您观察到的"唤醒它们"并且人们在评论中提到过.
至于为什么会发生这种情况,微软可以在多租户环境中最优化地分配计算工作负载,同时确保只在您的功能实际工作的时间内向第二个计费.这是无服务器的美.
对于不可接受的行为的工作负载,您可以考虑从消费计划转移到实际的App Service计划.或者,您可以实现一个定时器触发的函数,例如每分钟关闭一次,并通过ping您不想进入睡眠的函数将其用作"保持活动"机制.