今天要推荐的东西不是一篇文章,而是我实际使用的武器之一——用于ASP.NET应用性能诊断的大杀器。我的武器库中的武器之前已经介绍过Hangfire了,接下来我会不断和大家分享我使用的一些函数库和工具。
通常,Web应用开发完成之后,上线之前都会做一些性能测试。那么我们能不能在开发过程中就做一些性能的监控或诊断呢?答案是肯定的。
今天要给大家介绍的工具是“Glimpse”(我称之为惊鸿一瞥)。它不仅仅是一个工具了,甚至是一个Web应用的诊断平台了。为什么这样说,听我娓娓道来。
我们先来看看Glimpse能帮助你完成什么事情?在安装Glimpse之后,它就可以检查每个Web请求发生的事情,提供了如下特性来减少你的调试时间,促使每个开发人员提高他们编写代码的质量和性能:
- 可视化收集到的数据。使用甘特图来把每个关键服务端的活动的耗时情况都可视化显示出来。
- 抓取数据库查询情况。可以列出每个查询的SQL语句,性能的情况。
- 可以列出ASP.NET MVC视图渲染的过程,包括文件访问路径等。
- 路由映射情况分析。可以显示出访问路由是如何被匹配的。
- 浏览服务器的相应配置。可以方便的在同一个窗口查看web.config的配置情况。
- 对AJAX请求也能捕获。不仅能捕获普通的请求,对AJAX请求也能捕获,还能记录历史请求包括别人的请求。
- 同样支持WebForms。除了对ASP.NET MVC有良好支持外,对WebForms也能支持。
- 让Trace更加容易。可以自动显示Trace语句产生的信息,也可以和流行的Log框架进行集成。
Glimpse除了以上特性外,还有诸多优点:
- 安装简单。Install-Package Glimpse即可安装完成。
- 配置简单。通过访问后台“~/Glimpse.axd”即可启用和配置,或者通过web.config也可以进行配置。
- 扩展方便且插件众多。基于NuGet可以安装各式各样的扩展插件,涉及各个版本的MVC,各类数据库访问框架,各类前端框架,各种Log框架,不一而足。甚至还有和MiniProfiler(另外一款和Glimpse类似,由StackExchange出品的Profile工具,之前我也在使用这个,不过现在逐渐转换为Glimpse了)集成的插件。这些插件不仅可以扩展数据收集的种类,还能扩展显示视图的内容。
- 内置安全机制。可以通过安全策略文件来控制那些人可以看到什么信息。
- 轻量级,速度快。
- 多种显示视图。HUD(抬头视图),分类概述视图,完整视图。
- 更为重要的是开源,免费;且有商业公司作为后盾,有完整的支持社区。
具体使用需要大家去官网上查看和学习。最后,欢迎大家和我交流使用Glimpse的经验。
Glimpse的地址为:http://getglimpse.com/