Jam*_*mes 12 asp.net-mvc performance azure razor asp.net-mvc-5
我正在开发一个MVC网站上的性能问题.当站点在Azure中托管时,在第一次加载页面时,视图的呈现阶段会花费大量时间,我们每页说的是15-60秒.之后对同一页面的后续加载非常快速,正如人们所期望的那样.这是来自Glimpse的第一次点击页面的痕迹:
从图中可以看出,Razor渲染似乎是主要的攻击者.我已经阅读了很多关于Razor视图预编译的内容,我已经尝试过实现它,但它对我们没有任何影响.我也正在使用Azure Web App开发人员,他们指责Glimpse是一个问题,但我已经尝试过没有安装Glimpse的应用程序,它仍然像往常一样慢.
我变得非常困在这里......任何想法?
我找到了一种加快MVC应用程序启动时间的解决方案,其中最引人注目的是Azure应用程序服务。诀窍是预先编译视图,因此App服务不必针对请求时所需的每个视图执行此操作。
我的发现摘要:
将其添加到MSBuild参数中,您将拥有一个ASP.NET MVC 5,它将更快地启动,并且每个新页面的加载都将更快。
/p:PrecompileBeforePublish=true /p:UseMerge=true /p:SingleAssemblyName=AppCode
Run Code Online (Sandbox Code Playgroud)
可以在这里找到更多信息:http : //blog.deltacode.be/2017/01/08/fix-slow-startup-of-asp-net-mvc-5-on-azure-app-services/
小智 4
是第一次加载每个页面,还是在不活动后第一次访问该网站?
将新文件上传到应用程序容器后,IIS 需要一段时间才能启动。因此,更新应用程序后访问第一页的速度会变慢。Azure Web Apps 在闲置一段时间后也会脱水。如果一段时间没有访问该页面,这也会导致首页访问速度非常慢。
为了解决这个问题,在Web 应用程序的应用程序设置中,您可以找到一个名为Always On的设置,该设置基本上每隔几分钟就会对您的页面执行 ping 操作,以保持应用程序的流畅性和响应能力。
归档时间: |
|
查看次数: |
2308 次 |
最近记录: |