HTTP协议分析工具

看到新闻Google发布移动Web性能工具PCAP Web Performance Analyzer,小结一下http分析工具。

摘录http://www.infoq.com/cn/news/2011/01/google-pcapperf,最近,GooglePage Speed团队一直在关注如何更好的优化移动Web应用性能。虽然我们拥有类似FirebugPage SpeedYSlow!Chrome/Safari Developer Tools等优秀工具,但是移动浏览器缺少这样的性能分析利器。为此,Page Speed团队发布了一个分析移动浏览器网络信息的工具——PCAP Web Performance Analyzer

PCAP Web Performance Analyzer(简称pcapperfhttp://code.google.com/p/pcaphar/)工具充分利用了开放文件格式PCAPHAR以及开源工具cap2harHAR ViewerPage Speed的技术优势。对于性能分析工程师来说,首先抓取移动设备的PCAP文件,然后使用pcapperf分析PCAP文件,绘制出网络瀑布图,获取Page Speed的建议,或者下载PCAP文件的HAR格式输出。

顺便查阅和整理了一下手头的东西:

关于HTTP协议,除了RFC看看外,可以下载到《HTTP: The Definitive Guide 》、《HTTP Pocket Reference》的英文电子版,深入一点研究的《Web协议与实践》是本好书,现在难得买到。

一、客户端角度的HTTP分析

1,关于HTTP Archive format (HARan open file format for sharing HTTP log files)的定义

http://groups.google.com/group/firebug-working-group/web/http-tracing---export-format?version=10&pli=1

http://groups.google.com/group/http-archive-specification/web/har-1-1-spec?hl=en

后面的是最新版本的格式定义,前面的介绍则包含更多一点信息

2HTTP跟踪工具

Firebug (in browser)Firefox 附加组件,Firebug team HAR格式的定义者.

HTTPWatch (in browser),功能异常强大,可用于IEff浏览器,6.2版后支持HAR格式包括导出和浏览。http://www.httpwatch.com/features.htm

Fiddler (proxy based),支持HAR格式的导入和导出。实际上另外一个经常使用的是HTTPDebugger,小巧好用,可惜不支持HAR

Wireshark (network level)

Netmon (network level)

They all have various advantages over each other. In-browser tools can easily group requests by page and analyze browse cache usage while network-level tools can easily gather low level detailed info (for example HTTP compression). But in general, they are all intended to track HTTP traffic.

 

//补充:关于Firebug Net Panel

FirebugFirefox下的一款开发类插件。它集HTML查看和编辑、Javascript控制台、网络状况监视器于一体,从各个不同的角度剖析Web页面内部的细节层面,是开发JavaScriptCSSHTMLAjax的得力助手,给Web开发者带来很大的便利。Firebug的网络监视器能将页面中的CSSjavascript以及网页中引用的图片载入所消耗的时间以矩状图呈现出来,还可以预览图片,查看每一个外部文件甚至是xmlHttpRequests请求的http头等。

 

二、服务器角度的HTTP分析

Apaches' 日志格式的名称是 the Common Log Format (CLF) 或者 the Combined Log Format (XLF/ELF)。格式定义:http://httpd.apache.org/docs/1.3/logs.html,中文可参考《Apache日志解读》http://www.chinaitpower.com/2005September/2005-09-13/196259.html

网站流量分析是一个行业,从业人员比想象的要多很多。下面几个站点可参考:“网站分析在中国”,http://www.chinawebanalytics.cn/,信息很丰富,值得学习,扫地老僧的Bloghttp://www.doyj.com/,开发网站流量日志分析工具,日志和流量分析有很好的经验(例如:网站流量分析 (Web analytics) 水平分级、终于准确知道顾客是从哪里来的了),(3) 丁宇(Felix Ding)的个人bloghttp://dingyu.me/blog/log-analysis-tools总结的很好了。

 

网站流量分析(Web Analytics)的工具分为两大类, 一类是以Google Analytics为代表的在线统计系统, 英文称Page tagging。国内的武林榜,51yes,国外的Hitbox, Nielsen NetRatings, OneStat 都属于此类。这一类的重要特点是,分析时需要在里页面嵌入代码,这也是Page Tagging这个词的由来。 另一类就是日志分析,英文称Log Analysis 特指web服务器的日志分析就是Web Log Analysis Nihuo Web Log Analyzer, awstats, analog 都属此类,这一类的特点是不用在页面嵌入代码,而是靠分析web 服务器产生的日志来生成统计报表。

1,开源日志分析工具:AwStatsWebalizer

(1) awstats基于perl语言,CGI,能分析apache/IISFTP,mail,proxy, wap, streaming servers的日志;能识别搜索产生的访问并显示出来;统计项目比较丰富,详细;跨平台,能在windows下运行;能统计出最新的访问,支持中文。

2webalizer基于C语言,能分析apacheFTP(wu-ftpd/proftpd) xferlog(FTP) format logs, Squid proxy server native format, and   W3C Extended log formats日志,默认不能识别搜索产生的访问,与awstats相比统计项目较少,不能显示最新的访问,支持中文。

 

2,免费在线分析工具Google Analytics

Google Analytics是另外一个途径,Google AnalyticsGoogle收购Urchin推出,已经成为了世界上最受欢迎的免费网站分析工具。在网站流量分析行业是一个主要工具,类似的百度统计。其分析方法及界面表现形式都值得参考。

 《精通Web Analytics:来自专家的最佳Web分析策略》一书可以参考。

3,商业分析工具:

(1)WebTrends Log Analyze

参考《性能测试需求分析:WebTrends Log Analyzer的应用》,http://www.51testing.com/html/05/n-212805-2.html

WebTrends Log Analyzer是一款功能强大的Web流量分析软件,用它可处理超过15GB的日志文件,并且可生成关于网站内容信息分析的可定制的多种报告形式,如DOCHTMLXLSASCII文件等格式,可处理所有符合工业标准的Web服务器日志文件,如非标准的、ProprietaryIISNetscapeAPACHECERNNCSAO'ReillyLotus DominoOracle等日志格式。即使WebTrends Log Analyzer没有运行,也能通过使用独立运行的Scheduler计划程序自动输出流量分析报告,为管理员、Web开发小组和营销管理人员提供了一套分析日志文件的基本解决方法。

LogParserLizardIISTraceXLoganAWStats是根据WEB服务器的运行进行数据采集后,根据一定的算法进行统计、归类、创建图表的工具;对测试人员来说,这类工具一般应用于性能测试里的性能分析环节。

但是WebTrends Log Analyzer的使用目的不在这里,事实上该工具根本不度量响应时间这一指标。WebTrends Log Analyzer的作用是根据现有日志文件去进行逆向反推的过程,它会根据日志的内容反推出当时的用户是如何在前台页面操作,从而分析出整个度量时间范围内的用户行为!例如,它会分析出该时间范围内,有多少用户在线,他们操作了哪些页面,在那些页面停留多久,用户使用的客户端是什么类型,来自哪个国家区域等等。对于一个上线的WEB系统来说,运营人员需要知道该系统的访问流量和访问行为,为了动态甚至自动的每天获知这些信息,WebTrends Log Analyzer就是选择之一。话说回来,这些虽然是业务层面的问题,但是对于性能测试需求分析阶段,这个工具就是我们制定性能测试场景的最有力的依据了!

WebTrends Log Analyzer同类的软件还有Advanced Log AnalyzerFastStats AnalyzerHappy Log等。

(2)http://www.ghacks.net/2009/09/07/apache-web-log-analyzer/,基于客户端的。

3)上两个文章里面介绍的一堆工具,一般都还提供了Trial版本。作为开发人员倒是可以下载Trial版本来用和分析学习。

(4)后文推荐的一个离线分析工具,有简版是免费的专业版也不是很贵, http://www.deep-software.com/DLA的亮点在于,它可以像MSBI一样使用SQL执行自定义的查询,并且查询结果展现得非常清晰。其实支持SQL查询的日志分析工具不仅仅有DLA,但试用下来,DLA在细节方面做得最好,比如它会详细地显示出来一个URL所有的Referrer,以及这些Referrer各自对这个URL所产生的PV,这样在经常使用的转换率计算中就非常方便。

三、关于网关或者全网分析HTTP流量

HAR和跟踪工具,主要是站在单客户端的角度分析HTTP协议(HTTP日志)

最好对这些格式比较了解,方便转换,从而比较好的利用这些工具的作用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值