谈谈浏览器端的网页性能测试
上一篇 /
下一篇 2011-05-24 17:13:52
近来在做一个新的 产 品,涉及到 对 客 户 端 的浏览器的数据进行处理,进而开始要考虑如何测试这类产品的性能,简单来说就是要衡量因为我们产品的引入对于用户访问网页造成的性能方面的影响。
@$X%[~6i/z$yC!Ynp:p0 个人以前的性能测试经验主要是在服务器方面,比如业务处理系统或者应用层的网关产品。通常的模式都是大量并发的虚拟用户,有一定的并发连接,看重的指标是每秒处理的事务数量,吞吐量,以及响应时间。常常要考虑的问题是如何模拟单个用户的行为,然后借助测试工具模拟大规模的并发,结合监控的工具来获得性能数据。对于现在面临的客户端浏览器的测试,发现除了性能测试的一些共性的问题,还是有很多不一样的地方。目前这方面的性能测试还在研究和准备阶段,还没有开始正式的测试,把一些东西记录下来和大家分享,也希望和大家一起讨论。
$o2f8Hv MC0 这方面的测试要考虑的问题很多,我们现在看看测试工具的选择,后面再来讨论一些相关的挑战。
,G-Q3S6s5Z8f OX'H0 工具的选择51Testing软件测试网FS6yg|nr Z
关于测试工具,粗略的来看有两类可以选择。一类是模拟发起 http请求的工具,和用来测试服务器的性能的工具一样,另一类是基于浏览器的测试工具。下面来看看这两种工具的不同。51Testing软件测试网m!X
B[lS RB
1. 模拟 http 请求的工具
*YS8P,q(d
[q0 这类工具有很多,针对 web的性能测试工具真是可以用汗牛充栋来形容。现在用的比较多的开源的工具是 JMeter,以这个为例来说吧。
B_kqcP1`?'u0 这类工具可以模拟浏览器发出 http/https的请求,包括 header都可以定制。但是它并不对页面的内容进行处理,比如页面的渲染,脚本的执行,以及浏览器的一些 cache机制等等。所以很显然,如果被测的产品和浏览器紧密集成,比如做为插件的形式,那么这样的测试工具就不合适。但是如果产品是在底层拦截访问的请求和响应数据做处理,那么看起来也还是可以用,比如有些产品会有 driver或者 Windows的 LSP等来或者页面方面的数据并做处理,对于以 proxy形式来工作的产品应该也可以。