今天要推荐的东西不是一篇文章,而是我实际使用的武器之一——用于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/

惊鸿一瞥(Glimpse)——开发之时即可掌控ASP.NET应用的性能的更多相关文章

  1. .NET开发人员必看:提高ASP.NET Web应用性能的24种方法和技巧

    那性能问题到底该如何解决?以下是应用系统发布前,作为 .NET 开发人员需要检查的点. 1.debug=「false」 当创建 ASP.NET Web应用程序,默认设置为「true」.开发过程中,设置 ...

  2. 开发测试时给 Kafka 发消息的 UI 发送器――Mikasa

    开发测试时给 Kafka 发消息的 UI 发送器――Mikasa 说来话长,自从入了花瓣,整个人就掉进连环坑了. 后端元数据采集是用 Storm 来走拓扑流程的,又因为 @Zola 不是很喜欢 Jav ...

  3. Eclipse + Pydev开发Python时import报错解决方法

    一.  原文链接:http://blog.csdn.net/lhanchao/article/details/51306626            用eclipse +PyDev开发python时, ...

  4. JS-自制提速小工具:开发页面时需要按比例计算宽高值的快速计算器

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <meta name= ...

  5. MyEclipse使用总结——设置MyEclipse开发项目时使用的JDK

    安装好MyEclipse之后,在MyEclipse中开发项目时,默认使用的是MyEclipse是自带的JDK,如下图所示: 如果我们需要使用自己安装好的JDK,那么就需要在MyEclipse中重新设置 ...

  6. 设置MyEclipse开发项目时使用的JDK

    安装好MyEclipse之后,在MyEclipse中开发项目时,默认使用的是MyEclipse是自带的JDK,如下图所示: 如果我们需要使用自己安装好的JDK,那么就需要在MyEclipse中重新设置 ...

  7. IQ一个人的智力和对科学知识的理解掌握程度。 EQ对环境和个人情绪的掌控和对团队关系的运作能力。 AQ挫折商 一个人面对困境时减除自己的压力、渡过难关的能力。

    IQ: Intelligence Quotient 智商 一个人的智力和对科学知识的理解掌握程度. EQ: Emotional Quotient 情商 一个人对环境和个人情绪的掌控和对团队关系的运作能 ...

  8. 转】MyEclipse使用总结——设置MyEclipse开发项目时使用的JDK

    原博文出自于: http://www.cnblogs.com/xdp-gacl/p/3927677.html 感谢! 安装好MyEclipse之后,在MyEclipse中开发项目时,默认使用的是MyE ...

  9. MyEclipse使用总结——设置MyEclipse开发项目时使用的JDK

    安装好MyEclipse之后,在MyEclipse中开发项目时,默认使用的是MyEclipse是自带的JDK,如下图所示: 如果我们需要使用自己安装好的JDK,那么就需要在MyEclipse中重新设置 ...

随机推荐

  1. linux crontab介绍

    第1列分钟1-59第2列小时1-23(0表示子夜)第3列日1-31第4列月1-12第5列星期0-6(0表示星期天)第6列要运行的命令 下面是crontab的格式:分 时 日 月 星期 要运行的命令 这 ...

  2. 修改shell 将当前shell(默认是bash B SHELL )改为csh C SHELL

     在修改当前shell时,用命令: usermod -s  /bin/csh   home     home 为 你所想要改变的用户地址     此处home 为家目录,一般自己创建的用户都会在家目录 ...

  3. lnmp一键安装包删除添加的域名

    lnmp一键安装包删除添加的域名 如果使用lnmp一键安装包/root/vhost.sh 添加的域名可以,可以删除/usr/local/nginx/conf/vhost/要删除的域名.conf 文件, ...

  4. wordPress Development

    site:http://codex.wordpress.org/Theme_Development 2014-03-24 This article is about developing WordPr ...

  5. require.async换这个方法的transport问题

    这个方法是用于在模块中异步加载其他模块的,类似于在页面上的seajs.use. 比如需要在特定条件下才去加载a模块,不必每次都加载,类似于下面这样的代码 if({{some_condition}}){ ...

  6. Javascript中理解发布--订阅模式

    Javascript中理解发布--订阅模式 阅读目录 发布订阅模式介绍 如何实现发布--订阅模式? 发布---订阅模式的代码封装 如何取消订阅事件? 全局--发布订阅对象代码封装 理解模块间通信 回到 ...

  7. 微信成为首批支持iPhone 6s /Plus 上 3D Touch 功能的 App

    2015苹果新品发布会上微信成为首批支持iPhone 6s 和 iPhone 6s Plus 上 3D Touch 功能的 App.通过 3D Touch,微信用户将可以通过更精减的操作完成基本任务, ...

  8. FineUI第四天---PageManage的概述

    页面级别的配置PageManager控件的配置 每一个使用FineUI控件的页面都必须包含一个PageManager控件,我们可以把PageManager控件看做页面级别的参数配置(相对于Web.co ...

  9. hiho #1283 hiho密码 [Offer收割]编程练习赛3

    #1283 : hiho密码 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho根据最近在密码学课上学习到的知识,开发出了一款hiho密码,这款密码的秘钥是这样生成的 ...

  10. 【云计算】docker daemon如何提供Restful的API

    Docker Remote API 如何使用? docker 的 Remote API 定义如下: 这个API看着是http协议的但是我用 curl http://127.0.0.1:4243/con ...