实战网站压力/负载测试之WebBench篇

发表于:2007-06-08来源:作者:点击数: 标签:
实战网站压力/ 负载测试 之WebBench篇 版权声明:本文可以任意转载,转载时请保持文章的完整性,并以超链接形式标明文章原始出处和作者信息及本声明。 原始出处:[url]http://www.troyoo.com[/url] 作者:TROYOO超越([email protected])初稿日期:2004-7-242

实战网站压力/负载测试之WebBench篇

版权声明:本文可以任意转载,转载时请保持文章的完整性,并以超链接形式标明文章原始出处和作者信息及本声明。 
原始出处:[url]http://www.troyoo.com[/url]
作者:TROYOO超越([email protected]) 初稿日期:2004-7-24 21:39

Webbench是有名的网站压力测试工具,它是由Lionbridge公司(http://www.lionbridge.com)开发。它的帮助文件和文档请到:www.webbench.com上查看。
Webbech能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况。webBech的标准测试可以向我们展示服务器的两项内容:每秒钟相应请求数和每秒钟传输数据量。webbench不但能具有便准静态页面的测试能力,还能对动态页面(ASP,PHP,JAVA,CGI)进行测试的能力。还有就是他支持对含有SSL的安全网站例如电子商务网站进行静态或动态的性能测试
本文将以作者的实际操作过程为例,详细讲述使用WebBench进行网站服务器的测试环境,测试过程测试方法和测试结果分析。


第一部分:搭建WebBench测试平台
WebBench属于 客户端(client)控制器(controller)服务器(server) 的三层结构。客户端最多可支持60台,其操作系统可以为Windows 9X 也可以是Windows 2000或Windows XP。控制器的操作系统必须为Windows 2000或Windows XP。服务器可以是IIS,也可以是Apache。
1) 安装一台控制器(controller)。我采用了一台Windows XP机。下载WebBench 5.0 controller files (ftp://ftp.pcmag.com/benchmarks/webbench/3w50co.exe)运行,双击解压,然后进入解压后的目录安装即可。我采用了默认的安装位置:C:\WebBench\Controller。这样我们就完成了控制器的安装,很简单。
2) 安装20台客户机(client)。由于要测试的web服务器性能不高,采用20个客户端就够了,所以我在20台Windows 2000电脑上安装了客户端。下载WebBench 5.0 client files (ftp://ftp.pcmag.com/benchmarks/webbench/3w50cl.exe)双击解压,然后进入解压后的目录安装即可。默认安装位置:C:\WebBench\Client。客户端安装完成。
3) 对控制器和客户机进行设置。这才是关键的一步,如果配置错误,就无法完成测试。
名称 IP地址
Server 202.196.46.237
Controller 202.196.36.184
Clients 202.196.36.1-20
我的测试环境
根据我的测试环境,配置我的Controller和Clients。在C:\WebBench\Controller\Clientids文件下面有一个client.cdb文件,在里面保存客户机的IP和编号。你只需要把上面的IP改为你的客户机IP即可。
配置客户机,在每台客户机(我的客户机是windows2000)的C:\WINDOWS\system32\drivers\etc目录下面,有一个hosts文件。用文本编辑器打开,里面默认是对localhost的配置,现在我们把它改成如下格式:
[img:092b85ede7]http://www.ltesting.net/uploads/2007/06/8_200706081528022.gif[/img:092b85ede7]

第二部分:测试过程
首先启动控制器,第一次打开控制器,需要阅读完它的协议,并接受它才能进入控制界面。开始测试,选择Clients菜单Start Log In…。这时,控制器处于等待客户端加入的状态。然后到每个客户机上运行Client程序。该程序的配置文件如果没有错误,就自动出现“…connected!”的信息。这时候控制器上也会显示出该客户机已经连上。
[img:092b85ede7]http://www.ltesting.net/uploads/2007/06/8_200706081528023.gif[/img:092b85ede7]
客户机已经连上并处于等待状态
如果我们看到需要的客户端都已经连接完毕,可以点击控制器上OK按钮,客户机连接完毕,会弹出一个窗口,让我们选择测试种类。默认有七个文件:

我们选择静态测试(static.tst),然后填写测试名字,开始测试。客户机安装编号开始启动,首先启动一台,就是第一台,然后启动到4台,8台……


[img:092b85ede7]http://www.ltesting.net/uploads/2007/06/8_200706081528021.jpg[/img:092b85ede7]20个客户机运行状况(结束时)

大约经过1个半小时,测试完毕。测试结果自动保存在C:\WebBench\Controller\Results文件夹下面,名字为你测试前填写的名字。

第三部分:测试结果及分析

在控制器上,选择ResultsView Results…然后选择刚才测试的结果,点击View,自动打开Microsoft Excel,显示测试结果。如果这台电脑上没有安装MS Excel,就会显示安装错误的信息。
打开结果后,共有9个表:
 Table 1: WebBench Summary 
 Table 2: Overall Data 
 Table 3: Overall Class Statistics 
 Table 4: Overall Mix Definition Statistics 
 Table 5: Overall Server Statistics 
 Table 6: Client Data 
 Table 7: Server Disclosure 
 Table 8: Client Disclosure 
 Table 9: Test Suite Information 
 Table 10: Error Information

[img:092b85ede7]http://www.ltesting.net/uploads/2007/06/8_200706081528024.gif[/img:092b85ede7]

[img:092b85ede7]http://www.ltesting.net/uploads/2007/06/8_200706081528025.gif[/img:092b85ede7]

[img:092b85ede7]http://www.ltesting.net/uploads/2007/06/8_200706081528026.jpg[/img:092b85ede7]


[img:092b85ede7]http://www.ltesting.net/uploads/2007/06/8_200706081528027.gif[/img:092b85ede7]


分析:
服务器的环境
CPU: P4 1.7G
内存: 256M
网络带宽: 100M
操作系统: Redhat AS 3.0

由Overall Requests Per Second 表可以看出,当有12个Clients时,Requests Per Second 达到最大,是1170.121 ,Throughput (Bytes/Sec) 为7078593.563,也达到了最大。因此分析此时的数据,即可得出本台服务器的最大负载。






 chengxin119 回复于:2004-07-24 21:46:10
hosts文件配置样例:(本帖并非多余,作为上文[img][/img]引用的图片)











 chengxin119 回复于:2004-07-28 10:20:57
troyoo











 chengxin119 回复于:2004-07-28 10:22:46
troyoo











 chengxin119 回复于:2004-07-28 16:37:03
up

 kaixuan001 回复于:2004-07-29 09:14:53
1测试步骤不详细,完成20个以上客户端的测试,如何操作?
2测试结果没有分析原因,考虑了测试的网络环境,服务器的硬件了嘛(硬盘)
达到这个54Mb/s是否服务器存在瓶颈?

 abcd0755 回复于:2004-07-29 09:33:39
安装20台客户机(client)。??????

你用过loadrunner吗?

其实没必要这么麻烦的?虚拟就可以~~

 chengxin119 回复于:2004-07-29 11:15:12
服务器是一个普通的电脑。哈哈

 swingcoder 回复于:2004-07-29 13:08:20
loadrunner哪位有免费的下载,发个地址或软件包给我,谢谢,邮箱在签名里.

 断剑 回复于:2004-07-31 01:19:47
不错。忙活半天的测试,,感谢。又学了东西~~~~~

原文转自:http://www.ltesting.net