webload web.ppt
用 webload进行 web application性能测 试 Sincky.Zhang sinckyzhang@msn.com 2003年 8月 21日 北京 2 webload是什么 ? Øwebload是 RadView公司推出的一个性能测试和 分析工具 ,它让 web应用程序开发者自动执行压力 测试 ;webload通过模拟真实用户的操作 ,生成压力 负载来测试 web的性能 Ø用户创建的是基于 javascript的测试脚本 ,称为议 程 agenda,用它来模拟客户的行为 ,通过执行该脚本 来衡量 web应用程序在真实环境下的性能 Ø当前最高版本是 6.0 3 Ø webload提供巡航控制器 cruise control的功能 ,利用 巡航控制器 ,可以预定义 web应用程序应该满足的性能 指标 ,然后测试系统是否满足这些需求指标 ;cruise control能够自动把负载加到 web应用程序 ,并将在此 负荷下能够访问程序的客户数量生成报告 Ø webload能够在测试会话执行期间对监测的系统性能 生成实时的报告 ,这些测试结果通过一个易读的图形 界面显示出来 ,并可以导出到 excel和其他文件里 webload是什么 ? 4 webload结构 5 Webload6.0安装 p下载地址 : http://www.radview.com/ 6 Webload的 通信设置 p 配置 SNMP协议使多个压力机之间互相通信 : 在 win2000里进入 [控制面板 ]-[添加删除程序 ]-[添加删除 windows组件 ] 选择 [管理和监控工具 ],[下一步 ]后选择 windows安装文件路径 ,[完成 ] p TestTalk: TestTalk在测试会话里监测压力机间的信息传递 ,如果通信不 成功则报错 TestTalk自动安装 ,测试执行时在后台自动运行 ,注意不要将它 关闭 7 Webload程序组成 lAgenda Authoring Tool for Explorer (SSL) lVisual AAT lWebLOAD Console lWebLOAD REPORTER lTools: TestTalk 和 Performance Measurements Manager 等 8 Webload性能测试工作流 Ø 计划一个压力会话 load session Ø 创建测试议程 agenda Ø 创建压力模板 load templates Ø 运行压力模板 load templates Ø 输入测试报告并分析测试结果 9 如何计划一个压力会话 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? 10 创建测试议程 agenda 用 WebLoad Visual AAT创建测试议程 agenda: • 打开 Visual Agenda Authoring Tool • 选择 [Create a new project],并 [确定 ] 11 创建测试议程 agenda 设置清除浏览器的 cache和 cookie: • 选择 [tools]-[default project options]-[IE playback settings] • 选择 [clear cache]和 [clear cookie] • 点击 [ok] • 目的 :防止记录脚本时将 IE的相关信息保存到 cache 或 cookie里引起不必要的麻烦 . 12 创建测试议程 agenda • 点击 [start record]按钮 ,弹出提示 ,点击 ok • 自动打开一个 IE,手工输入要测试的地址 ,进入系统 • 在测试系统里完成一系列操作 • 点击 [stop record]停止录制 ,一个 agenda脚本创建完 毕 ;保存脚本 • 注意 : 13 创建压力模板 load templates 用 WebLOAD Console创建 load templates- 将一系列压力事件 定义到一个压力会话 load session里: • 用 webload wizard创建一个简单的压力模板 • 用 Cruise Control Wizard创建一个预期性能参数的压 力测试模板 • 用 webload console手工创建压力模板 说明:打开 webload console时提示选择用哪个方式 14 用 webload wizard创建压力模板 之前的准备工作,需要定义: • 运行的 Agenda(s) • 用来生成负载的压力机 • 虚拟客户端的个数 • 压力测试进度表(用 webRM创建) 另外,还可以设置 agenda选项,比如模拟浏览器的类 型、连接速度、回放休眠时间等选项。 15 用 webload wizard创建压力模板 进入 webload console,选择该种方式创建压力模板: 16 用 webload wizard创建压力模板 选择一个 agenda或者混合型 l Single Agendas: 创建只有一个 agenda脚本的压力模板 l Mix of Agendas: 多个 agenda脚本,模拟用户不同活动 17 用 webload wizard创建压力模板 选择 single agenda: 打开 AAT编辑脚本 设置 agenda选项 性能测量管理 器,后面介绍 18 用 webload wizard创建压力模板 选择 Mix方式:可选择一个已有的 mix文件,也可新建一 个 mix。 19 用 webload wizard创建压力模板 选择新建一个 mix时: 添加 agenda脚本并激 活其他按钮,可多个 删除选定的脚本 让每个脚本的压力相等 一共是 100% 手工分配每个脚本的压力 新建一个 mix 保存 mix的修改 将 mix另存 20 用 webload wizard创建压力模板 上述三种方式 【 下一步 】 后,到达选择主机窗口: 主机分两种:压力机和探测客户 机,从主机列表里可选择多个主 机作为压力机,每个压力机生成 多个虚拟用户,至少要有一个压 力机;探测客户机是一个虚拟用 户的实例,完全模拟人的活动, 和那些虚拟机一样 ‘轰击 ’web应 用程序,测试其性能。 点击 【 add】, 弹出添加 主机窗口 21 用 webload wizard创建压力模板 压力会话的进度设置:有两种设置方式,一个是手工 分配每个压力机的压力;另一个是自动均匀分配每个 压力机的压力。 22 用 webload wizard创建压力模板 手工分配每个压力机的压力: 点击设置该压力 机的压力进度 也可手工设置压 力测试开始时间 、结束时间和压 力大小 23 用 webload wizard创建压力模板 Load profiler设置:共有八种进度模型,详细参照附录一 该按钮表示保存 schedule manual窗 口中手工输入的进度设置 该按钮表示替换 schedule manual窗 口中手工输入的进度设置 注意:设置为探测客户 机的压力机没有该窗口 24 用 webload wizard创建压力模板 自动均匀分配每个压力机的压力:可手工添加、删除、复 制来设置进度;也可通过 load profiler来设置,具体操 作同手工分配压力的方式。 25 用 webload wizard创建压力模板 【 下一步 】 点击后,可立即执行测试,也可不立刻执 行,点击 【 完成 】 ;对于创建完的压力模板,可以: Ø 编辑压力模板 Ø 通过菜单 【 reports】 -【 integrated report】 -【 new report 】 来查看 webload默认生成的报告 Ø 通过菜单 【 session control】 -【 modify host selection】 来 修改主机设置 Ø 通过菜单 【 session control】 -【 modify schedule】 修改压力 进度表 26 创建一个预期性能参数的压力测试模 板 很多时候,我们不知道应用系统到底要多少用户访问;但是我们知 道系统的性能应该满足什么样的指标是合适的;例如希望应用服务器 的响应时间不超过 3秒, webload会得到该目标下的最佳性能状况。 打开 webload console,选择用 cruise control wizard创建模板: 27 创建一个预期性能参数的压力测试模 板 进入选择 single agenda或 mix方式添加脚本,之后选择压力机 和探测客户机,这些操作和前一种方式相同;然后进入测试目标 定义窗口: 跟踪的压力机或探测机,名字为 ‘total’ 表示所有虚拟客户的平均值;其他情 况下是压力机或探测机的机器名 添加进来的测量参数 操作符:大于等于或小于等于;选择 响应时间参数时,用大于等于符号 该参数测试结果是否生成报告 28 创建一个预期性能参数的压力测试模 板 点击 【 add goal】 按钮弹出所有可以添加的测量参数: 29 创建一个预期性能参数的压力测试模 板 添加一个或多个测量参数: 至少一个目标参数满足 必须全部目标参数都满足 30 创建一个预期性能参数的压力测试模 板 为了达到测量参数目标,设置每次增加虚拟用户的速度 : 每次增加多少个虚拟用户; 也可拉动滑动条 设置虚拟用户的最大值 没增加虚拟用户时的 初始虚拟用户数 虚拟用户平均分配到每个压力机