在《信息系统开发平台OpenExpressApp - 配置CSLA的WCF数据门户代理》的压缩中我介绍了一个网络调试工具,当时是用它来查看了一下如果项目组应用下gzip压缩率大概能达到多少,已决定是否需要使用WCF压缩通道。今天又用这个工具大体检查出了一下程序的性能问题,本篇将介绍一下这个工具以及这个简单的性能问题。
介绍
Fiddler2是一个用来监测本地计算机和Internet之间所有的HTTP通讯的网络调试代理工具(Web Debugging Proxy),它可以监测所有的HTTP通讯,设置断点,并且可以修改到进入到本地计算机的数据和从本地计算机出去的数据(就是可以伪造数据)。Fiddler包含一个JScript .NET事件脚本子系统,可以使用任何一种.Net语言扩展。该软件是免费的,支持多种应用程序,包括Internet Explorer,MozillaFirefox,Opera和其它一些浏览器,运行界面如下图所示:
大家可以从Fiddler官方网站上可以看见原版的英文介绍:
Fiddler is a Web Debugging Proxy which logs all
Fiddler is freeware and can debug traffic from virtually any application, including Internet Explorer, Mozilla Firefox, Opera, and thousands more.
Visit the Fiddler Download Page...
监听本地http连接:将IP链接地址改为机器名称即可
Silverlight Tip of the Day #63 – How to Monitor HTTP Traffic for Errors
性能问题
今天在项目sprint演示会议上,发现一个查询模块很慢,如下图,输入”钢筋“后查询指标,弹出一个查询结果窗体,等了有几分钟???按常理查出来的结果数据并不是很多,也没有好几千条啊,怎么会这么慢。我经常晚上在家访问这个程序,网络正常时都很正常啊,所以当时怀疑是不是当时公司的网速慢,但是其它基础模块数据量也不小,所以又怀疑是不是服务器计算慢。开发人员说这个计算复杂,但是我怎么都觉得如果计算这么慢,肯定是程序写的有问题,就这点数据再怎么查也不会好几分钟。
发现原因
晚上在家我通过广域网打开程序,本来通过Fiddler来查看一下网络传输大小的,结果点击查询后出来下图所示捕获情况,竟然有高达到297次客户端与服务器进行交互,其实看到这个数字就完全知道问题不是网络传输和服务器计算,而是与我先前判断的一样,是代码写的有问题,应该是没有注意对象懒加载的处理,使得客户端每条记录又分别与服务器进行了交互。
另:就像开始介绍的,Fiddler可以监测所有的HTTP通讯,设置断点,并且可以修改到进入到本地计算机的数据和从本地计算机出去的数据(就是可以伪造数据)。Fiddler包含一个JScript .NET事件脚本子系统,可以使用任何一种.Net语言扩展。我现在对这个工具只是简单入门,了解皮毛解决遇到的一些简单问题而已,如果有谁有高级应用的案例,非常欢迎发布分享一下:)
其他
How to debug your application (http protocol) using Fiddler
欢迎转载,转载请注明:转载自周金根 [ http://zhoujg.cnblogs.com/ ]