问题描述一个平时只需几百毫秒就能处理完成的Logic App Workflow为什么突然变慢甚至返回 HTTP 504 (ActionResponseTimeOut)问题解答在问题分析中发现Logic App是基于App Service架构搭建的。因为Logic App长时间空闲所以它的Host被回收(IIS Web Application Pool)当新的workflow请求到达的时候就会重新启动Host从而触发了冷启动。在冷启动过程中导致整个过长耗时过长超过了超过了Response Action的超时时间最终返回ActionResponseTimeOut (504)。基于以上情况可以开启Logic App(App Serfvice)的AlwaysOn功能来降低冷启动的影响。设置AlwaysOn功能使得Logic App Host进程不被回收冷启动的设计目的冷启动是Azure App Service/Logic App Standard平台的一种资源管理机制其设计目的包括资源优化当站点在一段时间内没有任何请求时平台会自动回收该站点的工作进程释放底层计算资源CPU,内存。成本效益对于非持续运行的工作负载避免长期占用计算资源。但是冷启动的代价是当站点被回收后收到的第一个请求的时候平台需要重新分配实例加载运行时初始化应用整个过长通常需要数秒或者数十秒具体取决于应用的复杂度和依赖项的数量。如何避免冷启动启用Always On: Azure Portal -- Logic App资源 -- Configuration -- General settings -- 将Always on 设置为On如下图所示参考资料App Service Always On配置说明https://learn.microsoft.com/en-us/azure/app-service/configure-common#configure-general-settingsAzure Functions 冷启动说明https://learn.microsoft.com/en-us/azure/azure-functions/event-driven-scaling#cold-start当在复杂的环境中面临问题格物之道需浊而静之徐清安以动之徐生。 云中恰是如此!