Azure web app service Azure应用程序服务网站在闲置一段时间后响应速度较慢

Azure web app service Azure应用程序服务网站在闲置一段时间后响应速度较慢,azure-web-app-service,Azure Web App Service,在过去的几周里,我们一直在调查一些性能问题,我们的MVC应用程序对第一个请求的响应非常慢。对于第一个请求,我们说的是30-45秒,对于每个新视图说的是3秒。我们的MVC应用程序使用位于同一服务器上的ODataAPI(WebAPI)。除了与MVC应用程序相同的性能问题外,对entity framework版本6的第一个查询在6秒内执行,新查询的执行速度比后续查询慢200毫秒 为了满足我们的需求,我们选择执行所有已知的Ef查询,并从Global.asax中的应用程序_Start点击所有MVC/API

在过去的几周里,我们一直在调查一些性能问题,我们的MVC应用程序对第一个请求的响应非常慢。对于第一个请求,我们说的是30-45秒,对于每个新视图说的是3秒。我们的MVC应用程序使用位于同一服务器上的ODataAPI(WebAPI)。除了与MVC应用程序相同的性能问题外,对entity framework版本6的第一个查询在6秒内执行,新查询的执行速度比后续查询慢200毫秒

为了满足我们的需求,我们选择执行所有已知的Ef查询,并从Global.asax中的应用程序_Start点击所有MVC/API端点。这似乎可以正常工作至少几个小时,但在一段时间不使用之后,每个MVC视图的第一个请求将在3-5秒内响应


我们已将网站配置为“始终打开”,在IIS日志或添加到应用程序启动的日志中未找到任何内容。因此,我们的应用程序似乎至少不是回收利用。我怀疑某种IIS缓存正在被清除,或者可能是某种Ef缓存?欢迎提供任何建议。

一个快速解决方法是创建一个后台作业,该作业将经常ping您的网站,以避免webApp处于空闲状态

尝试相应地升级Sql Server db计划和测试

祝你好运,希望这会有所帮助。

你需要为你的web应用启用“始终打开”设置

您可以从portal.azure.com->站点刀片服务器->所有设置->应用程序设置->始终打开来完成此操作

详情请参见此处:


禁用“始终打开”时,在20分钟不活动后,站点将被关闭,以便为可能在同一应用程序服务计划上运行的任何其他站点释放资源。

我一直遇到相同的问题,不幸的是,“始终打开”设置在免费和共享定价层上不可用。我发现了一个简单的方法来保持Web应用程序的温暖,这样它就不会卸载,那就是针对Wep应用程序URL每隔15分钟设置一个Application Insights ping测试。关于如何找到的演练

您是否尝试通过启用失败的请求日志记录来调查此问题

Azure门户→ 你的应用服务→ 监测→ 诊断日志→ 请求跟踪失败(打开)


我遇到了一个类似的问题,原因是使用web.config中的
ipSecurity
部分限制对应用程序的访问。如果您碰巧以这种方式限制访问,您需要将应用程序服务的IP列入白名单。

一个快速解决方法是创建一个后台作业,该作业将频繁ping您的网站,以避免Web应用程序处于空闲状态。您能解决此问题吗?我们的MVC应用程序在不活动后第一次请求时速度变慢,这与我们的MVC应用程序存在同样的问题。即使启用了“始终打开”。根据我们在应用程序上写入的日志,启动应用程序时,应用程序没有重新启动,因此它一定是其他原因…:(我们的问题似乎是Azure网站上的EF查询编译。我们得到了几个。包括我们的MVC应用程序正在使用的大多数API端点上的查询。每个查询编译似乎需要1秒钟,这是一个很长的时间。到目前为止,我们已经设置了一个临时轮询服务,以便查询编译在我们的客户之前进行。)s点击我们的网站。截至2019年12月,每15秒拍摄GET请求也不起作用。我也面临同样的问题。找到此链接,不确定此解决方案是否有效。增加会话超时是否有助于网站保持活力?@AdityaBokade否,没有任何效果“我们已将网站配置为“始终打开”我也发现“始终打开”对这个问题没有帮助。我在web服务器日志中清楚地看到,它正在使用AlwaysOn请求进行ping,但在长时间不活动后,登录我的站点通常需要大约40次。不过,我必须进行调查,也许问题不是“冷启动”但完全是另外一回事。Always On并没有解决这个问题。还有人找到了解决方案吗?很好的建议。我在我的机器上每15秒手动编写一个GET请求脚本,但它仍然没有解决问题。你提出的解决方案与此有显著不同吗?@Anoyz这只是一个ping测试,所以我看不出会有什么不同nce,但是有很多用于从多个位置进行测试的配置选项等。这可能会使它成为一种更可靠的方法。我遇到同样的问题。总是打开,IP地址被列入白名单,并且总是打开ping被正确记录。在一段时间的不活动之后,第一个请求仍然需要很长的时间。而且,很少有第一个请求是缓慢的。然后一切正常,在20-30次请求之后,所有请求都再次减速以开始正常工作。您是否再次检查了失败的请求日志?似乎AlwaysOn请求现在来自
::1
(IPv6代表127.0.0.1),而不是应用服务的IP。