看到新闻Google发布移动Web性能工具PCAP Web Performance Analyzer,小结一下http分析工具。
摘录http://www.infoq.com/cn/news/2011/01/google-pcapperf,最近,Google的Page Speed团队一直在关注如何更好的优化移动Web应用性能。虽然我们拥有类似Firebug、Page Speed、YSlow!和Chrome/Safari Developer Tools等优秀工具,但是移动浏览器缺少这样的性能分析利器。为此,Page Speed团队发布了一个分析移动浏览器网络信息的工具——PCAP Web Performance Analyzer。
PCAP Web Performance Analyzer(简称pcapperf,http://code.google.com/p/pcaphar/)工具充分利用了开放文件格式PCAP和HAR以及开源工具cap2har、HAR Viewer和Page Speed的技术优势。对于性能分析工程师来说,首先抓取移动设备的PCAP文件,然后使用pcapperf分析PCAP文件,绘制出网络瀑布图,获取Page Speed的建议,或者下载PCAP文件的HAR格式输出。
顺便查阅和整理了一下手头的东西:
关于HTTP协议,除了RFC看看外,可以下载到《HTTP: The Definitive Guide 》、《HTTP Pocket Reference》的英文电子版,深入一点研究的《Web协议与实践》是本好书,现在难得买到。
一、客户端角度的HTTP分析
1,关于HTTP Archive format (HAR,an open file format for sharing HTTP log files)的定义
http://groups.google.com/group/http-archive-specification/web/har-1-1-spec?hl=en
后面的是最新版本的格式定义,前面的介绍则包含更多一点信息
2,HTTP跟踪工具
Firebug (in browser),Firefox 附加组件,Firebug team 是HAR格式的定义者.
HTTPWatch (in browser),功能异常强大,可用于IE和ff浏览器,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
Firebug是Firefox下的一款开发类插件。它集HTML查看和编辑、Javascript控制台、网络状况监视器于一体,从各个不同的角度剖析Web页面内部的细节层面,是开发JavaScript、CSS、HTML和Ajax的得力助手,给Web开发者带来很大的便利。Firebug的网络监视器能将页面中的CSS、javascript以及网页中引用的图片载入所消耗的时间以矩状图呈现出来,还可以预览图片,查看每一个外部文件甚至是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/,信息很丰富,值得学习,扫地老僧的Blog,http://www.doyj.com/,开发网站流量日志分析工具,日志和流量分析有很好的经验(例如:网站流量分析 (Web analytics) 水平分级、终于准确知道顾客是从哪里来的了),(3) 丁宇(Felix Ding)的个人blog,http://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,开源日志分析工具:AwStats及Webalizer:
(1) awstats基于perl语言,CGI,能分析apache/IIS,FTP,mail,proxy, wap, streaming servers的日志;能识别搜索产生的访问并显示出来;统计项目比较丰富,详细;跨平台,能在windows下运行;能统计出最新的访问,支持中文。
(2)webalizer基于C语言,能分析apache,FTP(wu-ftpd/proftpd) xferlog(FTP) format logs, Squid proxy server native format, and W3C Extended log formats日志,默认不能识别搜索产生的访问,与awstats相比统计项目较少,不能显示最新的访问,支持中文。
2,免费在线分析工具Google Analytics
Google Analytics是另外一个途径,Google Analytics是Google收购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的日志文件,并且可生成关于网站内容信息分析的可定制的多种报告形式,如DOC、HTML、XLS和ASCII文件等格式,可处理所有符合工业标准的Web服务器日志文件,如非标准的、Proprietary、IIS、Netscape、APACHE、CERN、NCSA、O'Reilly、Lotus Domino和Oracle等日志格式。即使WebTrends Log Analyzer没有运行,也能通过使用独立运行的Scheduler计划程序自动输出流量分析报告,为管理员、Web开发小组和营销管理人员提供了一套分析日志文件的基本解决方法。
LogParserLizard、IISTrace、XLogan、AWStats是根据WEB服务器的运行进行数据采集后,根据一定的算法进行统计、归类、创建图表的工具;对测试人员来说,这类工具一般应用于性能测试里的性能分析环节。
但是WebTrends Log Analyzer的使用目的不在这里,事实上该工具根本不度量响应时间这一指标。WebTrends Log Analyzer的作用是根据现有日志文件去进行逆向反推的过程,它会根据日志的内容反推出当时的用户是如何在前台页面操作,从而分析出整个度量时间范围内的用户行为!例如,它会分析出该时间范围内,有多少用户在线,他们操作了哪些页面,在那些页面停留多久,用户使用的客户端是什么类型,来自哪个国家区域等等。对于一个上线的WEB系统来说,运营人员需要知道该系统的访问流量和访问行为,为了动态甚至自动的每天获知这些信息,WebTrends Log Analyzer就是选择之一。话说回来,这些虽然是业务层面的问题,但是对于性能测试需求分析阶段,这个工具就是我们制定性能测试场景的最有力的依据了!
与WebTrends Log Analyzer同类的软件还有Advanced Log Analyzer、FastStats Analyzer和Happy 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日志)
最好对这些格式比较了解,方便转换,从而比较好的利用这些工具的作用。

6万+

被折叠的 条评论
为什么被折叠?



