在过去的几周里,我们一直在调查一些性能问题,我们的MVC应用程序对第一个请求的响应非常慢。我们谈论的第一个请求是30-45秒,每个新视图是3秒。我们的MVC应用程序正在使用位于同一服务器上的Web (Web )。除了与MVC应用程序相同的性能问题外,对实体框架版本6的第一个查询在6秒内执行,新查询的执行速度比后续查询慢200ms。
为了满足我们的需求,我们选择执行所有已知的Ef查询,并在Global.asax中从Application_Start命中所有的MVC/API端点。这至少在几个小时内工作得很好,但在一段时间没有使用之后,对每个MVC视图的第一个请求将在3-5秒内响应。
我们已将网站配置为“始终在线”,但在IIS日志或添加到Application_Start的日志中未发现任何内容。所以看起来我们的应用程序至少没有循环使用。我怀疑是IIS缓存被清除了,还是Ef缓存被清除了?欢迎提出任何建议。
发布于 2016-03-21 23:46:32
您需要为您的web应用程序启用"Always On“设置。
您可以在portal.azure.com ->您站点的刀片->所有设置->应用程序设置-> Always On中执行此操作
详情请看这里:https://azure.microsoft.com/en-us/documentation/articles/web-sites-configure/
当Always On被禁用时,在20分钟不活动后,网站将关闭,以便为可能在同一应用服务计划上运行的任何其他网站释放资源。
发布于 2016-08-27 04:23:39
我一直有同样的问题,不幸的是,“始终在线”的设置在免费和共享的价格层上不可用。我发现了一种简单的方法来保持Web应用程序的温度,使其不会卸载,那就是每隔15分钟对Wep应用程序URL设置一次Application Insights ping测试。有关如何在here中找到该内容的演练
发布于 2016-03-20 16:03:50
一个快速的解决办法可以是创建一个后台作业,它将经常ping您的网站,以避免webApp的空闲状态。
或
尝试相应地升级Sql Server数据库计划和测试。
祝你好运&希望这对你有所帮助。
https://stackoverflow.com/questions/36115999
复制相似问题