WAS性能测试工具的使用

  WAS 的负载使用说明(一)

  一、准备工作

  为了测试数据的准备性,首先需要删除缓存和Cookies等临时文件。启动IE后打开“工具”菜单下的“Internet”选项命令,在打开的“Internet选项”窗口的“常规”选项卡中,单击“Internet临时文件”区域的“删除Cookies”和“删除文件”按钮将临时文件删除。

  WAS说明:WAS可以通过记录浏览器活动、导入服务器日志文件或评估WEB文件夹的内容来帮助创建测试脚本:

  几种方式的比较:1、记录浏览器活动的方式以精确的方式捕捉所有用户的交互活动,任何从浏览器发往服务器的URL指向,应用程序参数HTTP头部信息都会被自动地记录在新的测试脚本里。

  2、导入服务器日志文件的方法在站点已经进入投入使用阶段,有了真实的用户流量的情况下使用最好,但是,一个新的站点未必有这么多真实用户使用数据,进一步说,可能还需要合并大量的日志文件来达到较好的体现用户活动的目的,这将需要创建大量的测试脚本,蒋需要客户端更多的系统资源。

  3、选取WEB内容文件夹的方法最好用在测试多数是静态HTML文件的站点,这种方法允许在已有服务器的WEB页面的基础上快速创建测试脚本,然而这种方法并不捕捉任何由大多数应用程序文件产生的参数)

  二、录制测试脚本

  安装并启动WAS,程序运行时会打开“Cteate new script”对话框,即建立一个新的脚本窗口(如图1),如果运行WAS没有打开该窗口可以单击WAS主程序窗口工具栏上第一个按钮“New Script”即可。

  因为是初次使用,所以在新建脚本窗口上单击“Record”按钮打开创建向导对话框“Browser Recorder-Step 1 of 2”,其中三个选项的作用是选择要记录的内容,分别为Request(请求)、Cookies(网上信息块)以及Host headers(主机标题),可根据需要选择(图2),然后单击“Next”即会打开“Browser Recorder-Step 2 of 2”窗口,单击“Finish”按钮。这样WAS会自动启用,并且会打开一个浏览器窗口,此时我们就可以在浏览器的地址栏中输入要测试的网站网址。随着要测试的网站内容的不断显示,在WAS主界面的“Recording”选项卡中的信息会实时更新(如图3)。

  当浏览器的状态栏显示为“完成”时,我们就可以返回WAS窗口,单击“Stop Recording”按钮返回脚本窗口。

  三、测试设置

  为了使测试更加准确,更加接按真实效果,需要对录制的测试脚本进行一些设置。

  去除静态干扰

  由于网页是由图片、文字以及其它动态源码组成的,而一般的静态内容消耗的带宽并不是很大,因此我们可以将其排除在外。在脚本中选中指向图像、文字以及其它静态文件项目前的灰色按钮,然后单击工具栏上的“Delete”按钮将其删除(图4)。

  设置并发数

  然后在单击“New Recorded Script”下的“Settings”标签,其中“Concurrent Connections”是设置并发连接数的,其下面的“Stress level (threads)”和 “Stress multiplier(sockets perthread)” 分别设置对目标服务器的压力及负载程度的,其中Level是客户端所产生的线程数目,一个线程可以产生多个Socket并发请求,因此将两者的数值相乘,所获得的数字就是客户端同时连接的并发数(图5)。

  时间设置

  时间设置包括“Test Run Time”(测试运行时间)和“Request Delay”(停止响应)以及“Suspend”(挂起时间)三项。其中测试运行时间是以日、小时、分钟和秒来设定的,建议该项时间不宜太短,如果设置的并发数较多,那么时间应该按比较增长,以便产生足够多的请求;而停止时间是指连接时超出这个时间即作超时处理;在挂起时间处部分为Warmup和Cooldown两项,一般可以设置为两三分钟为宜,这样做的目的是避免测试开始和结束时数据的变形,影响测试的准确性。

  指定带宽瓶颈

  “Bandwith”是指定带宽瓶颈的,即选择访问该网站大多数用户所使用的带宽。例如访问该网站的绝大部分用户是拨号,那么可以选择56K。

四、开始测试

  做好基本的设置工作后,就可以在左侧选中新建的脚本“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 打开站点的速度明显减慢等等,尤其是在防火墙工作在透明代理模式下加上了一些对于应用服务的内容限制以后,设置前后速度上的改变都是非常重要参考数据的,我需要知道到底速度的影响有多大是否可以忽略不计。

部分数据解析

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

  打开主程序,点击"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的功能远不止于此,还需要在实践中总结才是。

   

最新内容请见作者的GitHub页:http://qaseven.github.io/

   

时间: 2024-11-02 05:11:10

WAS性能测试工具的使用的相关文章

Web网站的性能测试工具

随着Web 2.0技术的迅速发展,许多公司都开发了一些基于Web的网站服务,通常在设计开发Web应用系统的时候很难模拟出大量用户同时访问系统的实际情况,因此,当Web网站遇到访问高峰时,容易发生服务器响应速度变慢甚至服务中断.为了避免这种情况,需要一种能够真实模拟大量用户访问Web应用系统的性能测试工具进行压力测试,来测试静态HTML页面的响应时间,甚至测试动态网页(包括ASP.PHP.JSP等)的响应时间,为服务器的性能优化和调整提供数据依据. 我推荐各位Web 2.0开发测试人员使用Micr

Gatling:新一代服务器性能测试工具

21世纪是云的世纪, 大规模云网已经出现了,而且在未来几年内会得到高速发展,从而使得基于云的系统也会越来越多.如果要开发一款高性能的云系统,服务器性能测试是一个必不可少的环节.今天,就来介绍一款新一代服务器性能测试工具Gatling. 一,什么是Gatling Gatling是一款基于Scala 开发的高性能服务器性能测试工具,它主要用于对服务器进行负载等测试,并分析和测量服务器的各种性能指标.Gatling主要用于测量基于HTTP的服务器,比如Web应用程序,RESTful服务等,除此之外它拥

高效的 web 性能测试工具OpenSTA使用详解

概述 随着 Web 应用技术的发展和 Web 应用程序的迅速普及,Web 系统的性能和服务质量显得越来 越重要.性能测试在软件的质量保证中起着越来越重要的作用.性能测试是通过自动化的测试工具模拟多种正 常.峰值以及异常负载条件来对系统的各项性能指标进行测试.性能测试是一种信息的收集和分析的过程,测 试过程中通过收集的数据用来预测怎样的负载水平将耗尽系统资源.性能测试保证程序具有良好的性能,它考 察在不同的用户负载下,Web 对用户请求做出的相应情况,以确保将来系统运行的安全性.可靠性和执行效率

性能测试工具SilkPerformer介绍

SilkPerformer是业界最强大,且最易用的企业级负载和强度测试解决方案,用于对关键任务 应用的质量进行优化.SilkPerformer使用可视化脚本生成技术和对存在成千上万的并发用户的多 个应用环境进行测试的能力,使您能够在企业应用部署之前,就对其可靠性.性能和可伸缩性进行彻底 的测试,而无需考虑其规模大小和复杂程度.SilkPerformer强大的诊断工具和管理报告能够帮助您隔离 错误并快速做出决定,从而最大程度缩短测试周期和加快上市速度. 1.单一控制.分布测试 从单一的中央控制点,

性能测试工具curl-loader二---测试分析

本文在第一篇的基础上讲解,如果你还没有安装curl-loader性能测试工具.请先参考<性能测试工具curl-loader(linux)> 这一节具体分析一下curl-loader的使用,以及各项参数的含义. 简单的性能测试与要求环境: ------- --------------------------------------------------------------------------------------------------------------- ----------

性能测试工具curl-loader(linux)

curl-loader介绍 curl-loader(也被称为"omes-NIK"和"davilka")是一个开源的C语言编写的工具,模拟应用负 载和成千上万的几十万人的HTTP / HTTPS和FTP/ FTPS的客户端应用程序的行为,每个有其自己的源IP地址.相反,其他curl- loader使用真正的C编写的客户端协议栈,即libcurl和TLS/ openssl的SSL的HTTP和FTP协议栈,支持登录和验证口味和模拟用户 行为的工具. 所以,体积虽小,但不要

《全栈性能测试修炼宝典 JMeter实战》—第2章 2.5节性能测试工具选择

2.5 性能测试工具选择 工欲善其事必先利其器,性能测试时模拟大量负载需要工具帮忙,市面上可供使用的负载工具繁多,如何选择呢? 首先我们要明白负载工具是帮助我们来模拟负载的,对于性能测试来说,工具并不是核心,分析.评估.找出性能问题才是核心,这些是主观因素:工具是客户因素,自然要降低其对结果的影响,所以工具选择时我们有几个方面要考虑. (1)专业.稳定.高效,比如Loadrunner,工业级性能负载工具. (2)简单易上手,在测试脚本上不用花太多时间. (3)有技术支持,文档完善,不用在疑难问题

性能测试知多少---性能测试工具原理与架构

在性能测试的学习过程中,坚持思想与工具(分开)并行,当前面世面上的性能测试书籍大多把理论与loadrunner融为一体讲解,这样做是正确的,因为有一些性能名词概念也源于工具.但是,性能测试不是loadrunner,所有的作者也是这么认为的.但他们在讲性能测试的时候讲的就是loadrunner有,只是讲的多少不同罢啦. 你是否觉得我对loadrunner有仇?我之所以将其分开来学,只是希望自己在学习性能测试的时候不要被loadrunner局限了而已.只是觉得在做性能测试时不要带loadrunner

Oracle IO性能测试工具Orion详解

  1Orion概述   1.1 Orion说明   Orion是Oracle提供的IO性能测试工具,运行该工具不需要安装oracle database软件或创建数据库.它可以模拟Oracle数据库的IO负载,也可以用来仿真ASM的条带化的功能.测试随机或顺序访问指定大小块的IO性能,性能指标包括:IOPS,MBPS,Latency(延迟时间). 从Oracle Database 11g开始,Orion工具被集成到GI和Database软件中,所以在$GRID_HOME/bin和$ORACLE_

apache自带的性能测试工具ab使用教程

网站性能压力测试是服务器网站性能调优过程中必不可缺少的一环.只有让服务器处在高压情况下,才能真正体现出软件.硬件等各种设置不当所暴露出的问题. 性能测试工具目前最常见的有以下几种:ab.http_load.webbench.siege.今天我们专门来介绍ab. ab是apache自带的压力测试工具.ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试.比如nginx.tomcat.IIS等. 下面我们开始介绍有关ab命令的使用: 1.ab的原理