使用MvcMiniProfiler调试ASP.NET MVC网站性能
什么是MvcMiniProfiler?
一款由stackoverflow.com团队开发,专门针对ASP.NET MVC站点进行性能调试的工具,同时,其中的MvcMiniprofiler.EntityFramework组件,能直接输出当前页面执行了哪些SQL语句。
包括以下核心组件:
- MvcMiniProfiler
- MvcMiniProfiler.EntityFramework
如何安装?
一、环境准备
- Visual Studio 2010
- ASP.NET MVC项目
- 如果需要调试EF,建议升级到Entity Framework 4.2
二、安装
推荐使用NuGet方式进行安装。推荐重典的文章:NuGet安装及简单使用
- 第一步:在引用上右键选择“Manage NuGet Packages”
- 第二步:Online搜索miniprofiler
安装MiniProfiler、MiniProfiler.EF、MiniProfiler.MVC3,同时会自动安装依赖组件:WebActivator, 同时也会自动在项目里面添加代码文件:MiniProfiler.cs
- 第三步:修改代码使MvcMiniProfiler生效
在global.cs的Application_Start事件里面增加代码: MvcMiniProfiler.MiniProfilerEF.Initialize();
修改View的layout文件,在head区域增加如下代码:@MvcMiniProfiler.MiniProfiler.RenderIncludes()
使用
如果安装步骤一切顺利的话,打开站点的时候,就可以在左上角看到页面执行时间了,点开可以看到
更详细的信息,如果有SQL的话,还会显示SQL语句信息,非常的方便。
页面上如果有ajax请求,也会同时显示到左上角。如果左上角显示红色提示,则表示可能存在性能问题需要处理:
点开SQL部分,可以看到详细的SQL语句
标记为duplicate的部分,代表在一次请求当中,重复执行了查询,可以优化。
总结
MvcMiniProfiler确实是一款简便易用的工具,适合进行代码层面和部分SQL层面的优化。在某些方面肯定不能替代像SQL Profiler、.Net profiler、Windbg之类的工具,个人感觉其优势在于:
- 使用简便
- 快速定位问题
- 直观、明了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?