我们正在使用Azure webapp托管我们的应用程序,这是一个中等大小的Asp.net MVC应用程序。问题在于,只要我们发布到该实例,第一个请求就需要花费很长时间(约3分钟)。
我在Application_Start
中创建了一些日志,以测量该方法的确切时间以及执行所需的时间,结果表明该方法执行大约需要20秒(Ioc Container,AutoMapper,...预热),但奇怪的是在Application_Start
被调用之前的〜120s。我通过减去发送第一个请求的时间和在Application_Start
中创建第一个日志的时间来衡量这一点。
我的问题是,在重新启动Web应用程序,发送第一个请求和点击Web应用程序的Application_Start
之间的那段时间到底发生了什么?它与应用程序的大小有关吗? (我们的应用程序包含很多引用/子目录/...)
我们正在使用P2V2应用服务计划和两个实例。