【发布时间】:2017-08-06 08:07:58
【问题描述】:
我正在开发一个新的 ASP.NET MVC Web 应用程序,我发现所有页面都需要大约 12-15 秒才能加载,而不管控制器或视图中的内容如何。我的页面大约需要 8 秒,但控制器中没有代码,除了 return View() 和仅在 html 中使用页面名称查看页面。
我运行了 SQL Profiler,响应速度非常快,因此似乎 MVC 路由或某些东西一直在占用。到目前为止,我尝试了以下方法:
- 从 global.asax 中删除了所有视图引擎并仅使用 Razor 视图引擎
- 为 css 和 js 启用捆绑和缩小
- 在 IIS 7 下启用静态和动态内容压缩
- 我在我们的开发服务器上部署了 Release Build,但性能仍然相同
请让我知道 MVC 应用程序性能缓慢的原因可能是什么。
另一方面,对于大约 150-250 个用户同时浏览的企业 Web 应用程序,我应该拥有的最佳服务器配置是什么,例如 CPU、处理器、RAM 等。
【问题讨论】:
-
测量实际请求持续时间会很有用(例如,在 Developer Utils 中使用 Chrome 的网络分析器或称为 Fiddler 的工具),因此首先您要关注纯服务器端性能并忽略可能的脚本延迟.稍后,您可以使用 Microsoft 的 Application Insights 工具,它们有助于发现瓶颈
-
如果您创建一个没有任何内容的全新默认模板应用程序,您是否会看到相同的性能问题?如果不是,那么您就知道这是从那以后添加的代码。
-
问题确实在于加载 URL。当我单击站点中的任何链接以导航到不同的 URL 时,浏览器将需要 5-6 秒来更新浏览器地址栏中的 URL,之后大约需要 1-3 秒来加载页面。所以我相信大部分时间都浪费在寻找网址上。谁能指出为什么在“href”属性中已经存在路径时要花时间查找 URL。
标签: asp.net-mvc performance iis-7 asp.net-mvc-routing windows-server-2012