【问题标题】:Reducing time between starting an MVC web application and viewing the first page缩短启动 MVC Web 应用程序和查看第一页之间的时间
【发布时间】:2016-02-23 09:27:21
【问题描述】:

环境:

  • Visual Studio 2015 更新 1
  • IIS Express 10
  • 中等大小的 MVC Web 应用程序
  • .NET Framework 4.6.1 x64 调试版本
  • 较新的 Core I7 笔记本电脑、大量内存、SSD 驱动器

对一个项目的 .cs 文件进行小改动,点击绿色箭头测试更改。构建完成大约需要 8 秒,Chrome 会弹出一个新标签。不错。但是第一页显示大约需要 30 秒。

可以做些什么来减少这种延迟?预编译视图会是这里的首要改进吗?目前有哪些最佳技术可以实现这一目标?

【问题讨论】:

  • 30 秒渲染视图是有问题的。这与数据库调用相关联吗?您是否在视图中呈现大量 html? “充足”的 RAM 是多少 - 因为对我来说足够多可能意味着最多 128 个演出。
  • 16gb,任务管理器在任何时候都没有显示内存接近用完并成为限制器。涉及到一些数据库调用,但它们应该几乎是即时的,但我想我应该去验证一下。
  • 听起来像是处于调试模式 - 这肯定会更慢。如果按 F12 并检查时间,在哪里等待?有数据库调用吗?如果您在非调试版本中部署到 Web 服务器,它会更快吗?因为没有人可以根据您需要去解释这 30 秒的信息来帮助您。
  • 谢谢大家,我会更深入地调查并报告更多细节。
  • 这取决于数据库调用以及查询返回结果需要多长时间,任何 js、css 文件引用(如果有太多则有问题)。或大型 HTML 页面。

标签: c# asp.net asp.net-mvc


【解决方案1】:

尝试安装Glimpse。正确设置它会显示延迟在哪里,包括数据库调用及其持续时间等。

【讨论】:

    【解决方案2】:

    安装Redgate Ants 并在本地单步执行代码(如果这是一个实时问题,可能会指向生产数据库),这个工具应该能够告诉你哪里慢了。

    其中一个特点是:

    直接跳到最慢的活动

    .NET 性能分析器中的调用树向您显示 每种方法并确定最昂贵的方法,数据库 查询和网络请求

    有 14 天的免费试用期,应该有足够的时间来诊断您的问题。

    【讨论】:

      猜你喜欢
      • 2022-08-11
      • 2012-05-31
      • 2016-11-07
      • 2016-12-23
      • 2018-07-29
      • 2016-10-18
      • 1970-01-01
      • 1970-01-01
      • 2016-01-11
      相关资源
      最近更新 更多