四、开始测试

  做好基本的设置工作后,可以在左侧选中新建的脚本“New Recorded Script”项,然后单击工具栏上的“Run Script”按钮,或者打开“Scripts”菜单下的“Run”命令,这样开始测试了。测试过程中会以进度条的方式实时显示,待进度条结束我们即可进行测试结果分析了。

  五、数据分析

  现在我们可以打开测试报告来查看测试结果了。单击“View”菜单,选择“Reports”,在打开的窗口左侧会按时间显示所有测试报告。根据时间选择本次测试报告,在窗口右侧即可查看具体内容。

  在测试报告中重要的部分是“Socket Errors”部分和“Result Codes”部分。其中Socket Errors部分共分为Connect、Send 、Recv和Timeouts。其中Connect表示客户端不能与服务器取得连接的次数;Send表示客户端不能正确发送数据到服务器的次数;Recv表示客户端不能正确从服务器接次的次数;Timeouts表示超时的线程数目。由此我们可以如果这四个数值都比较小,甚至为0则说明我们的服务器是经得起考验的;如果数值居高不下,甚至接近设置的并发数,那么则要好好的检查你的服务器了(图6)。

  另外在“Result Codes”部分,如果Code列表下的数值都为200,那么表示所有请求都经服务器成功返回,如果数值出现400或大于400,例如404,那么则需要在左侧找到“Page Data”节点,查看具体的错误项目,然后作出改正了。

  其实要完整的反映出一个网站在服务器上的运行情况,需要不断增减其并发数,并且进行多次测试,才能了解服务器所能承受的限度,然后才可以在IIS中设置允许连接的大数目,从而保证网站正常运行。

  WAS 的负载使用说明(二)

  测试脚本的准备

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

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

  到第二步时直接点击“finish”,点击后弹出一个IE窗口以便记录浏览器活动,同时WAS会被置于记录模式,在新出现的IE窗口的地址栏输入你的目的站点的地址,在WAS的窗口你将看到HTTP信息在跟随你的浏览活动而实时改变着,当完成了你的站点浏览后,返回Web Application Stress Tool,停止Record(点击Stop Recording按钮),终止记录并产生一个新的测试脚本(在右边的窗口将看到一个列出所有脚本的列表)。

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

  指定目标WEB服务器:Server默认地目标服务器为Localhost,修改为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 打开站点的速度明显减慢等等,尤其是在防火墙工作在透明代理模式下加上了一些对于应用服务的内容限制以后,设置前后速度上的改变都是非常重要参考数据的,我需要知道到底速度的影响有多大是否可以忽略不计。