如何使用 Glimpse 找出导致我的 ASP.NET MVC 应用程序挂起的原因?

How do I use Glimpse to find out what is causing my ASP.NET MVC application to hang?

我有一个 ASP.NET MVC 应用程序,它大量使用 javascript 和 JQuery 来实现管理功能和面向客户的功能。最近我重新组织了管理屏幕,以便能够更清晰地适应一些新功能的管理控制。

我使用 IE 和 Chrome 进行了测试,发现其中一个比较繁忙的页面出现轻微但可以接受的挂起。但是,使用管理页面的主要人员使用 Firefox 并不断报告不可接受的挂起。终于查了一下,发现在Chrome和IE中挂2-3秒,在Firefox中挂10-12秒,不行。

不知道该转向哪里,我最终安装了 Glimpse 并对其进行了配置,运行 很好,但我仍然无法弄清楚如何深入了解它的哪个区域页面引起了麻烦。到目前为止,我只能说这绝对与客户端 (Firefox) 的渲染方式有关。需要明确的是,它发生在所有浏览器上,但出于某种原因,它在 Firefox 中更为明显。

有人可以给我一些关于如何开始诊断问题的指导吗?我对使用 Glimpse 的想法并不满意,但据我所知,它似乎是一个相当不错的工具。

感谢您的帮助。

根据您的描述,问题似乎出在客户端。话虽如此,Glimpse 可能不如使用 Firefox 自己的分析器那么适合。

SHIFT+F5 将调出 Web 开发人员性能屏幕。从那里,您可以 begin/end 性能分析并更深入地了解可能需要比预期更长的时间。

查看网络选项卡并确保资产及时加载可能也很值得。

另外请记住,加载项可能会影响延迟。如果最终用户有一个执行 post 页面处理的设置(例如 Greasemonkey 脚本或(回忆起早期的加载项)用于转换页面上的 phone 号码以定向的 Skype 插件-拨号链接),这也会在性能中发挥作用。排除这些的一个好方法是在启动 Firefox 时按住 SHIFT(实际上 运行 它在 Safe Mode),这将确定它是 Firefox 本身还是一个加载项是罪魁祸首。