用webload进行web application性能测试

发表于:2007-05-06来源:作者:点击数: 标签:性能测试web性能application进行
一、 webload 是什么 ? webload是RadView公司推出的一个性能测试和分析工具,它让web应用程序 开发 者自动执行压力测试;webload通过模拟真实用户的操作,生成压力负载来测试web的性能 用户创建的是基于 java script的 测试脚本 ,称为议程agenda,用它来模


一、webload是什么?
webload是RadView公司推出的一个性能测试和分析工具,它让web应用程序开发者自动执行压力测试;webload通过模拟真实用户的操作,生成压力负载来测试web的性能
用户创建的是基于java script的测试脚本,称为议程agenda,用它来模拟客户的行为,通过执行该脚本来衡量web应用程序在真实环境下的性能
当前最高版本是6.0
webload提供巡航控制器cruise control的功能,利用巡航控制器,可以预定义web应用程序应该满足的性能指标,然后测试系统是否满足这些需求指标;cruise control能够自动把负载加到web应用程序,并将在此负荷下能够访问程序的客户数量生成报告
webload能够在测试会话执行期间对监测的系统性能生成实时的报告,这些测试结果通过一个易读的图形界面显示出来,并可以导出到excel和其他文件里

 

二、webload结构


  
三、Webload6.0安装
下载地址:
http://www.radview.com/

四、Webload的通信设置
配置SNMP协议使多个压力机之间互相通信:
在win2000里进入[控制面板]->[添加删除程序]->[添加删除windows组件]
选择[管理和监控工具],[下一步]后选择windows安装文件路径,[完成]
TestTalk:
TestTalk在测试会话里监测压力机间的信息传递,如果通信不成功则报错
TestTalk自动安装,测试执行时在后台自动运行,注意不要将它关闭

五、Webload程序组成
Agenda Authoring Tool for Explorer (SSL)
Visual AAT
WebLOAD Console
WebLOAD REPORTER
Tools:TestTalk 和Performance Measurements Manager 等

六、Webload性能测试工作流
计划一个压力会话load session
创建测试议程agenda
创建压力模板load templates
运行压力模板load templates
输入测试报告并分析测试结果

七、如何计划一个压力会话load session
what application are you going to test?
What functionality do you want to test — what actions will the users perform?
How many Virtual Clients you want to simulate?
How long your test will run?
What are acceptable results? Acceptable results are defined by your test objective. For example,you can verify:
Acceptable user response times
Reliability by running stress tests
Performance degradation after updates
What resources are required for performing the test?

八、创建测试议程agenda

用WebLoad Visual AAT创建测试议程agenda:
打开Visual Agenda Authoring Tool
选择[Create a new project],并[确定]


 
创建测试议程agenda
设置清除浏览器的cache和cookie:
选择[tools]->[default project options]->[IE playback settings]
选择[clear cache]和[clear cookie]
点击[ok]
目的:防止记录脚本时将IE的相关信息保存到cache或cookie里引起不必要的麻烦.

创建测试议程agenda
点击[start record]按钮,弹出提示,点击ok
自动打开一个IE,手工输入要测试的地址,进入系统
在测试系统里完成一系列操作
点击[stop record]停止录制,一个agenda脚本创建完毕;保存脚本

九、创建压力模板load templates
用WebLOAD Console创建load templates-将一系列压力事件定义到一个压力会话load session里:
1)用webload wizard创建一个简单的压力模板
2)用Cruise Control Wizard创建一个预期性能参数的压力测试模板
3)用webload console手工创建压力模板
说明:打开webload console时提示选择用哪个方式

十、用webload wizard创建压力模板

之前的准备工作,需要定义:
运行的Agenda(s)
用来生成负载的压力机
虚拟客户端的个数
压力测试进度表(用webRM创建)
另外,还可以设置agenda选项,比如模拟浏览器的类型、连接速度、回放休眠时间等选项。
用webload wizard创建压力模板
进入webload console,选择该种方式创建压力模板:


 

选择一个agenda或者混合型:
lSingle Agendas:创建只有一个agenda脚本的压力模板
lMix of Agendas:多个agenda脚本,模拟用户不同活动


 

选择single agenda:


 

选择Mix方式:可选择一个已有的mix文件,也可新建一个mix。


 
选择新建一个mix时:



上述三种方式【下一步】后,到达选择主机窗口:


 

压力会话的进度设置:有两种设置方式,一个是手工分配每个压力机的压力;另一个是自动均匀分配每个压力机的压力。


 
手工分配每个压力机的压力:


 
Load profiler设置:共有八种进度模型,详细参照附录一


 
自动均匀分配每个压力机的压力:可手工添加、删除、复制来设置进度;也可通过load profiler来设置,具体操作同手工分配压力的方式。

 

【下一步】点击后,可立即执行测试,也可不立刻执行,点击【完成】;对于创建完的压力模板,可以:
编辑压力模板
通过菜单【reports】-【integrated report】-【new report】来查看webload默认生成的报告
通过菜单【session control】-【modify host selection】来修改主机设置
通过菜单【session control】-【modify schedule】修改压力进度表


十一、创建一个预期性能参数的压力测试模板
很多时候,我们不知道应用系统到底要多少用户访问;但是我们知道系统的性能应该满足什么样的指标是合适的;例如希望应用服务器的响应时间不超过3秒,webload会得到该目标下的最佳性能状况。
打开webload console,选择用cruise control wizard创建模板:


 
进入选择single agenda或mix方式添加脚本,之后选择压力机和探测客户机,这些操作和前一种方式相同;然后进入测试目标定义窗口:


 
点击【add goal】按钮弹出所有可以添加的测量参数:


 
添加一个或多个测量参数:


 
为了达到测量参数目标,设置每次增加虚拟用户的速度:


 
定义当测量目标参数达到时webload状态:


 
点击【完成并运行】按钮,开始运行压力模板,并得到实时跟踪的测试结果:


 
十二、手工创建压力模板
打开webload console首页,选择【create a new template manually】,开始手工创建压力模板;该种方式的工作流如下,具体操作同前,这里不赘述:


 
十三、运行压力模板load templates
每种方式创建的压力模板都可以自动运行,也可以保存起来,或修改之后,通过如下方式运行:
在webload console菜单栏里选择【session control】-【start session】
在webload console工具栏里选择start session按钮


十四、输出测试报告并分析测试结果
实时查看测试结果:
在chat view页面右键单击任何一个点查看实际值
点击工具栏【dashboard】按钮查看整个测试中的关键参数
点击工具栏【openstatistics】按钮统计整个测试中的详细参数,点击某个参数值可查看更详细信息
点击工具栏【data drilling】按钮查看每个被测web页面的传输性能参数,点击可查看更详细信息


创建集成报告:
选择菜单栏【report】-【integrated report】-【new report】
点击【rename】创建新的报告
从参数树里选择本次测试中,想要生成报告的选项
点击【ok】,报告显示出来

用webload reporter分析测试结果
打开webload reporter
在这里,有整个测试过程中想要的各个分析工具,点击任何一个即动态生成该类型的报告,已做分析
点击菜单栏【publish】,可以从中选择将生成的报告以其他方式导出
关闭webload reporter
Webload reporter界面


 
十五、性能测量管理器PMM介绍
Webload通过Performance Measurements Manager (PMM)
来检测服务器端的性能,webload通过收集服务器端的有效数据,提供一个完全图形化的web应用程序的性能报告;用PMM,我们可以监测服务器的:
Application Server Resources
Database Resources
System Resources
Web Server Resources
Stream Technology Resources
Other Resources

十六、性能测量管理器PMM操作
三种方式打开PMM:
在webload console菜单里【Session Control】-【Performance Measurements Manager】
在开始菜单里Start | Programs | WebLOAD 6.0 | Tools |Performance Measurements Manager
一般我们在创建load templates时,会有一个按钮进入PMM界面,我们重点介绍这种方法的操作

PMM主界面:点击【add data source】


 
开始选择数据源,选择数据源的主机:



如果连接成功,会显示如下的数据源参数,在此选择我们想要测试的参数,点击【完成】:



然后自动跳回PMM主界面,在此会看见如下的数据源参数代码,点击主界面的【close and update】,这些数据源参数会在load templates完成后自动出现在报告里:


 
Webload的PMM在设置weblogic、iplanet、oracle等服务器的测量参数前,都要在该服务器端进行一定的设置,使其成为SNMP的代理服务器;具体设置步骤见用户手册372页。
附录loader profile进度模型参数讲解
1.Linear:
Total time in minutes — 压力测试总时间(分)
Starting Load Size — 初始压力个数
Concluding Load Size — 结束时压力大小
2. Random:
Min. Load Size —最小压力大小
Max. Load Size — 最大压力大小
附录loader profile进度模型参数讲解
Incrementing Intervals:
Base Load Size — 初始压力大小(方波最小值)
Time Between Each Interval-T1 — 加压持续的时间
Time of Each Interval-T2-间隔时间
Load to Increase Each Interval-每次加压加的压力个数
Incrementing Intervals (time calculate):同上
附录loader profile进度模型参数讲解
Step Increments:Time of each Interval — 每次间隔的时间
Load to increase each interval — 每个间隔增加的压力个数
Ramp Up:
Max Load Size — 最大压力数
Ramp UpTime — 为了到达最大压力持续的增加时间
Time to Run Max Load Size — 在最大压力时运行的时间
Ramp Down Time — 从最大压力降到最小过程持续的时间

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