Web Application Stress Tool

Web Application Stress Tool

Web Application Stree Tool 下载地址 http://www.microsoft.com/downloa ... &DisplayLang=en

测试脚本的准备

1、在测试客户端机器上启动Web Application Stress Tool,在弹出的“建立新脚本”对话框中选择“Record”按钮;


2、在“Record”参数设置第一步中,所有的checkbox都不用选择


到 第二步时直接点击“finish”,过几秒钟会弹出一个IE窗口,在此窗口中访问测试数据生成页面(http://192.168.1.4: 8086/Apply/test),依次点击5个测试用例连接,然后返回Web Application Stress Tool,停止Record;

3、将一些没用的记录删去(比如:/Apply/test/index.htm),只留下如下图所示的五条记录:


在Server输入框中输入服务器的IP,端口号不用输入。改一下脚本名字,比如改为Joinwork Test;

4、5个测试用例在实际使用环境中被访问的概率是不一样的。我们可以在Page Groups中定义几个Page Group来模拟这种访问分布:


在上图中我们定义了5个Group,分别对应:查询可启动流程列表、启动流程、查询个人待办工作任务、显示任务执行表单和执行任务,它们被点击的次数比率为:1 : 1 : 5 : 5 : 4。

回到脚本主页面,分别将5条记录的Group改为刚才建立的Page Group。这样在运行脚本的时候就会按Group定义的比率来产生点击了;

5、下面设置测试并发用户数和测试时间长度。

到 如下图的Settings页面,通过Stress Level (threads)和Stress mulitiplters来设置并发用户数,Test RUn Time来设置测试时长。因为我们要做性能压力测试,不要设置延时时间(Request Delay)。可以在实际测试时间之前,设置一段warm up运行时间,这段时间的数据是不会记录到最后的报告里的;其他设置可以保持缺省值不变;


测试运行

一切准备完成后,回到脚本主页面,然后点击工具条上的“Run Script”按钮就开始测试了;


测试报告查看

测试运行结束后,我们就可以通过点击工具条上的"Reports"按钮查看测试报告了;

测试报告里比较重要的数据是:每秒处理的请求数(Requests per Second)和每个页面的平均响应时间。

上面两张图的数据是笔者直接使用Joinwork开发版的缺省配置(JBoss 3.2.2和JBoss自带的数据库Hsql),一台主频1.5M HZ(奔腾移动)、内存725M的笔记本作服务器,一台主频2.0M HZ的台式机作客户端,测试的数据。

数据显示在100并发用户数下,每秒可处理89.26个请求,其中响应时间最长的页面是任务执行,平均响应时间是1.66秒。

Web Application Stress Tool也可以采集服务器的CPU利用率等服务器端数据,有兴趣的话可以查看帮助文件。

Web Application Stress 是Microsoft免费提供的一款软件专门对WEB服务进行压力测试用的工具软件。我经常会需要测试一些服务器的运行状态和响应时间什么的,比如在网络中新加了一台防火墙做好设置以后,它的改动对于网络中应用层的服务影响怎么样,客户会不会明显感觉到IE 打开站点的速度明显减慢等等,尤其是在防火墙工作在透明代理模式下加上了一些对于应用服务的内容限制以后,设置前后速度上的改变都是非常重要参考数据的,我需要知道到底速度的影响有多大是否可以忽略不计。

下面我们用其进行一次简单的压力测试。

打开主程序,点击"Record"按钮,选择"Record Delay between request",然后"next",再"finish"。接下来会弹出一个浏览器,输入所要测试的WEB服务器地址,随便浏览一些页面,然后将其关闭,返回到Web Application Stress中,点击"stop recording"按钮。点击"Settings",就可以进入设置界面,填入一些参数。在此例中,threads我填入了50,run time我填入了2分钟,其它默认。然后选择"Scripts"菜单项中的"Run",对服务器进行压力测试,等待2分钟。

结束后,选择"Window"下的"Reports",可以看到类似于下面的压力测试结果(我已经将其简化了)。

============================================================
Number of test clients:        1
Number of hits:                6121
Requests per Second:           51.01
Socket Statistics
------------------------------------------------------------
Socket Connects:               6163
Total Bytes Sent (in KB):      1750.10
Bytes Sent Rate (in KB/s):     14.58
Total Bytes Recv (in KB):      29227.62
Bytes Recv Rate (in KB/s):     243.55
Socket Errors
------------------------------------------------------------
Connect:                       0
Send:                          0
Recv:                          0
Timeouts:                      0
RDS Results
------------------------------------------------------------
Successful Queries:            0
下面对其进行简单解释。测试时间内,虚拟的用户点击页面6121次,平均每秒51个请求,Socket连接数6163,其中没有连接、发送、接收、超时错误。从这个压力测试报告来看,服务器对于50个用户同时操作,应该没有任何问题。需要特别说明的是,这个只是简化的部分结果。
这只是一个简单的示例,Web Application Stress的功能远不止于此,还需要在实践中总结才是。

你可能感兴趣的:(web)