用webload进行web系统压力测试.ppt
用用webloadwebload进行进行web applicationweb application性能测试性能测试Sincky.ZhangSincky.ZhangSincky.ZhangSincky.Zhang2003200320032003年年年年8 8 8 8月月月月21212121日日日日1 webloadwebload是什么是什么?webload是RadView公司推出的一个性能测试和分析工具,它让web应用程序开发者自动执行压力测试;webload通过模拟真实用户的操作,生成压力负载来测试web的性能用户创建的是基于javascript的测试脚本,称为议程agenda,用它来模拟客户的行为,通过执行该脚本来衡量web应用程序在真实环境下的性能当前最高版本是6.02 webload提供巡航控制器cruise control的功能,利用巡航控制器,可以预定义web应用程序应该满足的性能指标,然后测试系统是否满足这些需求指标;cruise control能够自动把负载加到web应用程序,并将在此负荷下能够访问程序的客户数量生成报告webload能够在测试会话执行期间对监测的系统性能生成实时的报告,这些测试结果通过一个易读的图形界面显示出来,并可以导出到excel和其他文件里webloadwebload是什么是什么?3 webloadwebload结构结构4 Webload6.0Webload6.0安装安装p下载地址下载地址:http5 WebloadWebload的通信设置的通信设置p配置SNMP协议使多个压力机之间互相通信:在win2000里进入控制面板-添加删除程序-添加删除windows组件 选择管理和监控工具,下一步后选择windows安装文件路径,完成pTestTalk:TestTalk在测试会话里监测压力机间的信息传递,如果通信不成功则报错 TestTalk自动安装,测试执行时在后台自动运行,注意不要将它关闭 6 WebloadWebload程序组成程序组成lAgenda Authoring Tool for Explorer(SSL)lVisual AATlWebLOAD ConsolelWebLOAD REPORTERlTools:TestTalk 和Performance Measurements Manager 等7 WebloadWebload性能测试工作流性能测试工作流 计划一个压力会话load session 创建测试议程agenda 创建压力模板load templates 运行压力模板load templates 输入测试报告并分析测试结果8 如何计划一个压力会话如何计划一个压力会话load sessionload sessionwhat 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?9 创建测试议程创建测试议程agendaagenda用WebLoad Visual AATWebLoad Visual AAT创建测试议程创建测试议程agenda:agenda:打开Visual Agenda Authoring Tool选择Create a new project,并确定10 创建测试议程创建测试议程agendaagenda设置清除浏览器的设置清除浏览器的cachecache和和cookiecookie:选择tools-default project options-IE playback settings选择clear cache和clear cookie点击ok目的:防止记录脚本时将IE的相关信息保存到cache或cookie里引起不必要的麻烦.11 创建测试议程创建测试议程agendaagenda点击start record按钮,弹出提示,点击ok自动打开一个IE,手工输入要测试的地址,进入系统在测试系统里完成一系列操作点击stop record停止录制,一个agenda脚本创建完毕;保存脚本注意:12 创建压力模板创建压力模板load templatesload templates 用用WebLOAD ConsoleWebLOAD Console创建创建load templatesload templates将一系列压力事件定将一系列压力事件定义到一个压力会话义到一个压力会话load sessionload session里:里:I.用webload wizard创建一个简单的压力模板II.用Cruise Control Wizard创建一个预期性能参数的压力测试模板III.用webload console手工创建压力模板IV.说明:打开webload console时提示选择用哪个方式13 用用webload wizardwebload wizard创建压力模板创建压力模板之前的准备工作,需要定义:运行的Agenda(s)用来生成负载的压力机虚拟客户端的个数压力测试进度表(用webRM创建)另外,还可以设置agenda选项,比如模拟浏览器的类型、连接速度、回放休眠时间等选项。14 用用webload wizardwebload wizard创建压力模板创建压力模板进入webload console,选择该种方式创建压力模板:15 用用webload wizardwebload wizard创建压力模板创建压力模板选择一个agenda或者混合型lSingle Agendas:创建只有一个agenda脚本的压力模板lMix of Agendas:多个agenda脚本,模拟用户不同活动16 用用webload wizardwebload wizard创建压力模板创建压力模板选择single agenda:打开AAT编辑脚本设置agenda选项性能测量管理器,后面介绍17 用用webload wizardwebload wizard创建压力模板创建压力模板 选择Mix方式:可选择一个已有的mix文件,也可新建一个mix。18 用用webload wizardwebload wizard创建压力模板创建压力模板选择新建一个mix时:添加agenda脚本并激活其他按钮,可多个删除选定的脚本让每个脚本的压力相等一共是100手工分配每个脚本的压力新建一个mix保存mix的修改将mix另存19 用用webload wizardwebload wizard创建压力模板创建压力模板上述三种方式【下一步】后,到达选择主机窗口:主机分两种:压力机和探测客户机,从主机列表里可选择多个主机作为压力机,每个压力机生成多个虚拟用户,至少要有一个压力机;探测客户机是一个虚拟用户的实例,完全模拟人的活动,和那些虚拟机一样轰击web应用程序,测试其性能。点击【add】,弹出添加主机窗口20 用用webload wizardwebload wizard创建压力模板创建压力模板 压力会话的进度设置:有两种设置方式,一个是手工分配每个压力机的压力;另一个是自动均匀分配每个压力机的压力。21 用用webload wizardwebload wizard创建压力模板创建压力模板手工分配每个压力机的压力:点击设置该压力机的压力进度也可手工设置压力测试开始时间、结束时间和压力大小22 用用webload wizardwebload wizard创建压力模板创建压力模板Load profiler设置:共有八种进度模型,详细参照附录一该按钮表示保存schedule manual窗口中手工输入的进度设置该按钮表示替换schedule manual窗口中手工输入的进度设置注意:设置为探测客户机的压力机没有该窗口23 用用webload wizardwebload wizard创建压力模板创建压力模板 自动均匀分配每个压力机的压力:可手工添加、删除、复制来设置进度;也可通过load profiler来设置,具体操作同手工分配压力的方式。24 用用webload wizardwebload wizard创建压力模板创建压力模板【下一步】点击后,可立即执行测试,也可不立刻执行,点击【完成】;对于创建完的压力模板,可以:编辑压力模板通过菜单【reports】-【integrated report】-【new report】来查看webload默认生成的报告通过菜单【session control】-【modify host selection】来修改主机设置通过菜单【session control】-【modify schedule】修改压力进度表25 创建一个预期性能参数的压力测试模板创建一个预期性能参数的压力测试模板 很多时候,我们不知道应用系统到底要多少用户访问;但是我们知道系统的性能应该满足什么样的指标是合适的;例如希望应用服务器的响应时间不超过3秒,webload会得到该目标下的最佳性能状况。打开webload console,选择用cruise control wizard创建模板:26 创建一个预期性能参数的压力测试模板创建一个预期性能参数的压力测试模板 进入选择single agenda或mix方式添加脚本,之后选择压力机和探测客户机,这些操作和前一种方式相同;然后进入测试目标定义窗口:跟踪的压力机或探测机,名字为total表示所有虚拟客户的平均值;其他情况下是压力机或探测机的机器名添加进来的测量参数操作符:大于等于或小于等于;选择响应时间参数时,用大于等于符号该参数测试结果是否生成报告27 创建一个预期性能参数的压力测试模板创建一个预期性能参数的压力测试模板点击【add goal】按钮弹出所有可以添加的测量参数:28 创建一个预期性能参数的压力测试模板创建一个预期性能参数的压力测试模板添加一个或多个测量参数:至少一个目标参数满足必须全部目标参数都满足29 创建一个预期性能参数的压力测试模板创建一个预期性能参数的压力测试模板为了达到测量参数目标,设置每次增加虚拟用户的速度:每次增加多少个虚拟用户;也可拉动滑动条设置虚拟用户的最大值没增加虚拟用户时的初始虚拟用户数虚拟用户平均分配到每个压力机30 创建一个预期性能参数的压力测试模板创建一个预期性能参数的压力测试模板定义当测量目标参数达到时webload状态:在当时压力下继续运行多久在当时压力下继续以规定的压力增加速度运行多久31 创建一个预期性能参数的压力测试模板创建一个预期性能参数的压力测试模板点击【完成并运行】按钮,开始运行压力模板,并得到实时跟踪的测试结果:32 手工创建压力模板手工创建压力模板 打开webload console首页,选择【create a new template manually】,开始手工创建压力模板;该种方式的工作流如下,具体操作同前,这里不赘述:33 运行压力模板运行压力模板load templatesload templates 每种方式创建的压力模板都可以自动运行,也可以保存起来,或修改之后,通过如下方式运行:在webload console菜单栏里选择【session control】-【start session】在webload console工具栏里选择start session按钮34 输出测试报告并分析测试结果输出测试报告并分析测试结果实时查看测试结果:在chat view页面右键单击任何一个点查看实际值点击工具栏【dashboard】按钮查看整个测试中的关键参数点击工具栏【openstatistics】按钮统计整个测试中的详细参数,点击某个参数值可查看更详细信息点击工具栏【data drilling】按钮查看每个被测web页面的传输性能参数,点击可查看更详细信息35 输出测试报告并分析测试结果输出测试报告并分析测试结果创建集成报告:选择菜单栏【report】-【integrated report】-【new report】点击【rename】创建新的报告从参数树里选择本次测试中,想要生成报告的选项点击【ok】,报告显示出来36 输出测试报告并分析测试结果输出测试报告并分析测试结果用webload reporter分析测试结果打开webload reporter在这里,有整个测试过程中想要的各个分析工具,点击任何一个即动态生成该类型的报告,已做分析点击菜单栏【publish】,可以从中选择将生成的报告以其他方式导出关闭webload reporter37 Webload reporterWebload reporter界面界面 38 性能测量管理器性能测量管理器PMMPMM介绍介绍Webload通过Performance Measurements Manager(PMM)来检测服务器端的性能,webload通过收集服务器端的有效数据,提供一个完全图形化的web应用程序的性能报告;用PMM,我们可以监测服务器的:Application Server ResourcesDatabase ResourcesSystem Resources Web Server ResourcesStream Technology ResourcesOther Resources39 性能测量管理器性能测量管理器PMMPMM操作操作三种方式打开PMM:在webload console菜单里【Session Control】-【Performance Measurements Manager】在开始菜单里Start|Programs|WebLOAD 6.0|Tools|Performance Measurements Manager一般我们在创建load templates时,会有一个按钮进入PMM界面,我们重点介绍这种方法的操作40 性能测量管理器性能测量管理器PMMPMM操作操作PMM主界面:点击【add data source】开始添加数据源41 性能测量管理器性能测量管理器PMMPMM操作操作开始选择数据源,选择数据源的主机:42 性能测量管理器性能测量管理器PMMPMM操作操作 如果连接成功,会显示如下的数据源参数,在此选择我们想要测试的参数,点击【完成】:43 性能测量管理器性能测量管理器PMMPMM操作操作 然后自动跳回PMM主界面,在此会看见如下的数据源参数代码,点击主界面的【close and update】,这些数据源参数会在load templates完成后自动出现在报告里:44 性能测量管理器性能测量管理器PMMPMM操作操作 Webload的PMM在设置weblogic、iplanet、oracle等服务器的测量参数前,都要在该服务器端进行一定的设置,使其成为SNMP的代理服务器;具体设置步骤见用户手册372页。45 附录附录 loader profile loader profile进度模型参数讲解进度模型参数讲解1.1.Linear:Linear:Total time in minutes 压力测试总时间(分)Starting Load Size 初始压力个数Concluding Load Size 结束时压力大小2.RandomRandom:Min.Load Size 最小压力大小 Max.Load Size 最大压力大小46 附录附录 loader profile loader profile进度模型参数讲解进度模型参数讲解Incrementing IntervalsIncrementing Intervals:Base Load Size 初始压力大小(方波最小值)Time Between Each Interval-T1 加压持续的时间Time of Each Interval-T2间隔时间Load to Increase Each Interval每次加压加的压力个数Incrementing Intervals(time calculate)Incrementing Intervals(time calculate):同上:同上47 附录附录 loader profile loader profile进度模型参数讲解进度模型参数讲解Step IncrementsStep Increments:Time of each Interval 每次间隔的时间Load to increase each interval 每个间隔增加的压力个数Ramp UpRamp Up:Max Load Size 最大压力数Ramp UpTime 为了到达最大压力持续的增加时间Time to Run Max Load Size 在最大压力时运行的时间Ramp Down Time 从最大压力降到最小过程持续的时间48 The EndThank!