logo资料库

压力测试实例.pdf

第1页 / 共37页
第2页 / 共37页
第3页 / 共37页
第4页 / 共37页
第5页 / 共37页
第6页 / 共37页
第7页 / 共37页
第8页 / 共37页
资料共37页,剩余部分请下载后查看
1 LoadRunner 概要介绍
1.1 基本步骤
2 安装LoadRunner 中文版
2.1 系统要求
2.2 安装过程
3.项目背景介绍
3.1 背景概述
3.2压力测试用例
4.使用LoadRunner进行负载/压力测试
4.1录制基本的用户脚本
4.2 完善测试脚本
4.2.1 插入事务
4.2.2 插入集合点
4.2.3 插入注释
4.2.4 参数化输入
4.3 单机运行测试脚本
5实施测试
5.1 选择脚本,创建虚拟用户
5.2 添加windows资源监视窗口
5.3 添加windows性能计数器
5.4 执行脚本
5.4.1 分析结果
6 分析以及监视场景
6.1 Memory相关
6.2 Processor相关
6.3 网络吞吐量以及带宽
6.4 磁盘相关
6.5 Web应用程序
6.6 SQL Server
6.7 Network Delay
7 分析实时监视图表
8 经常遇到的问题
8.1 VuGen的问题
8.2 Controller的问题
8.3 计数器的问题
9.结果分析
10参考文献
www.51testing.com 论坛 测试资源交流区专用 LoadRunner 压力测试实例 摘要:本文通过实例讲解介绍了 LoadRunner 工具的使用,介于公司的实际情况,文中主要 是对工具的基本使用做了详细描述,高级运用方面除性能计数器与参数设置外其它均未涉 及,待以后补充。目的是使公司人员根据该手册便可以独立运用 Loadrunner 进行压力测试 主题词:Loadrunner 工具 压力测试 1 LoadRunner 概要介绍 LoadRunner 是一种预测系统行为和性能的工业标准级负载测试工具。通过以模拟上 千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个 企业架构进行测试。通过使用 LoadRunner , 企业能最大限度地缩短测试时间, 优化性能 和加速应用系统的发布周期。目前企业的网络应用环境都必须支持大量用户,网络体系架构 中含各类应用环境且由不同供应商提供软件和硬件产品。难以预知的用户负载和愈来愈复杂 的应用环境使公司时时担心会发生用户响应速度过慢, 系统崩溃等问题。这些都不可避免 地导致公司收益的损失。Mercury Interactive 的 LoadRunner 能让企业保护自己的收入来源, 无需购置额外硬件而最大限度地利用现有的 IT 资源, 并确保终端用户在应用系统的各个 环节中对其测试应用的质量, 可靠性和可扩展性都有良好的评价。LoadRunner 是一种适用 于各种体系架构的自动负载测试工具, 它能预测系统行为并优化系统性能。LoadRunner 的 测试对象是整个企业的系统, 它通过模拟实际用户的操作行为和实行实时性能监测, 来帮 助您更快的查找和发现问题。此外,LoadRunner 能支持广范的协议和技术, 为您的特殊环 境提供特殊的解决方案。 1.1 基本步骤 使用 LoadRunner 完成测试一般分为四个步骤: 1)Vvitrual User Generator 创建脚本 创建脚本,选择协议 作者:徐涛 msn: szxutao@hotmail.com
www.51testing.com 论坛 测试资源交流区专用 录制脚本 编辑脚本 检查修改脚本是否有误 2)中央控制器(Controller)来调度虚拟用户 创建 Scenario,选择脚本 设置机器虚拟用户数 设置 Schedule 如果模拟多机测试,设置 Ip Spoofer 3)运行脚本 分析 scenario 4)分析测试结果 2 安装 LoadRunner 中文版 LoadRunner 分为 Windows 版本和 Unix 版本。如果我们的所有测试环境基于 Windows 平台, 那么我们只要安装 Windows 版本即可。本章讲解的安装过程就是 LoadRunner7.8 中 文的 Windows 版本的安装。 2.1 系统要求 目前部门的测试机和工作机器足可以满足 LoadRunner7.8 的最低要求。不过要比较好 的运行 LoadRunner, 内存最好在 512M 以上, 安装 LoadRunner 的磁盘空间至少剩余 500M。操作系统最好为 Windows 2000。 2.2 安装过程 LoadRunner7.8 中文版安装基本分两个步骤:首先安装 LoadRunner7.8 英文原版,然后安 装中文语言插件包 LoadRunner7.8 英文原版存放位置:\\10.138.149.139\ test tools\LR7.8nt.rar将压缩文件拷贝 解压到本机的安装,过程比较简单要开始安装LoadRunner ,以Administrator 的身份登陆 Windows2000 后,运行LoadRunner 安装目录下Setup.exe 即可进入安装程序。 1. 在“Registration Information” 界面中, 输入序列号( 不用改动, 就是 n 个 8) 作者:徐涛 msn: szxutao@hotmail.com
www.51testing.com 论坛 测试资源交流区专用 2. 在安装类型界面中, 选择一种安装类型 下面简单的对这三种安装类型进行介绍 ●Standalone Installation 将要安装 LoadRunner 在一台计算机上 ●Network Installation 把 LoadRunner 安装在一个网络驱动器上, 这样任何能连接到这个 网络驱动器的计算机都可以使用 LoadRunner 的部分或者全部组件。 ●Network Installation and shortcuts 和 Network Installation 类似,不同的只是这种类型将把 自己的计算机配置成 Workstation 来运行 LoadRunner。如果选择了第二项, 我们还需要 进行 2.3 的安装来配置 Workstation.。考虑到我们是自己学习研究学习, 选择第一种安装方 法。 3. 在安装方式界面中, 需要选择一种安装方式。建议选择“ 自定义安装”, 这样所有的 组件都会一次安装。 下面简单的对各个安装方式进行介绍 ●Typical Installation 安装比较通用的组件, 包括 Controller、Vuser、在线帮助和脚 该选项适合于控制 Vusers 的机器。 ●Load Generator 只安装运行 Vusers 产生负载的组件。该选项适合于只产生负载, 而不控制 Vusers 的机器。 ●MI Listener 安装 MI Listener 组件, 用来透过防火墙来运行 Vusers 并且监视性能。 ●Custom Installation 自定义安装, 我们将使用该选项, 安装全部的组件。 作者:徐涛 msn: szxutao@hotmail.com
www.51testing.com 论坛 测试资源交流区专用 4. 在“License Information” 中输入 License Key 后,Next, 继续 100 个用户(无时间限制):AEAMAUIK-YAFEKEKJJKEEA-BCJGI 10000 个用户(有时间限制):AEABEXFR-YTIEKEKJJMFKEKEKWBRAUNQJU-KBYGB 5. 如果是网络安装,最好把网络驱动器映射成本机的一个盘符, 安装 LoadRunner 的各级 目录不要包含中文字符。 6. Next 后进入拷贝文件的界面 7. 拷贝文件完成后, 进入“User Login Settings” 界面。 ●Allow virtual users to run on this machine without user login 需要在下面输入域、用 户名和密码, 这样运行 Load Generator 的机器会自动登陆到网络, ●Manual log in to the Load Generator machine 运行 Vusers 时, 自动登陆到网络, 无需登陆用户名和密码, 这样 Vusers 就会不用任何干预自动的启动运行。推荐 选择该项。这里选择第一项和第二项都可以。 8. 重新启动, 安装完成 LoadRunner7.8 英文原版存放位置:\\10.138.149.139\test tools\ LoadRunner7.8 中文版.rar 将压缩文件拷贝解压到本机的安装.。过程比较简单要开始安装以 Administrator 的身份登陆 Windows2000 后,(注意要退出已经运行的英文原版)运行安装目录下 Setup.exe 即可进入 安装程序,安装过程中一切人机交流窗口多选择默认“下一步”即可 注意:解压文件存放的文件夹不可起中文名字,安装目录最好使用默认,如果更改则安装目 录不要使用中文名! 3.项目背景介绍 3.1 背景概述 “LMS 网校考试平台”是一个典型的三层 B/S 架构的 MIS 系统(客户端/应用服务器/数 据库管),中间层是业务逻辑层,应用服务器处理所有的业务逻辑,但应用服务器本身不提 供负载均衡的能力,而是利用开发工具提供的 ORB(对象请求代理)软件保证多个应用服 务器间的负载均衡。本次测试的目的是:进行应用服务器的压力测试,找出应用服务器能够 支持的最大客户端数。方法是:按照正常业务压力估算值的 1~10 倍进行测试,考察应用服 作者:徐涛 msn: szxutao@hotmail.com
www.51testing.com 论坛 测试资源交流区专用 务器的运行情况。 3.2 压力测试用例 场景描述一: 1. 用户登录的 lmm 模块,总共登陆 24 个用户,所有用户都同时并发操作。 2. 用户点击“登记的教程” 3. 用户点击“启动”,进行课程学习,进入 DS 模块 4. 在 DS 模块中进行学习,过程包括:首先,点击一次课程结构树;然后,进行课程 内容的学习。 5. 点击“返回 LMS” 按钮,返回到 lmm 模块,点击“退出”按钮,退出系统 场景描述二: 1. 用户登陆 lmm 模块,总共登录 48 个用户,每 1 秒登录 1 个用户 2. 用户点击“已登记教程” 3. 用户点击“启动”,进行课程学习,进入 DS 模块 4. 在 DS 模块中进行学习,过程包括:首先,点击一次课程结构树;然后,进行课程 内容的学习; 5. 点击“返回 LMS” 按钮,返回到 lmm 模块,点击“退出”按钮,退出系统 场景描述三: 1. 用户登录的 lmm 模块,总共登陆 48 个用户,所有用户都同时并发操作。 2. 用户点击“登记的教程” 3. 用户点击“启动”,进行课程学习,进入 DS 模块 4. 在 DS 模块中进行学习,过程包括:首先,点击一次课程结构树;然后,进行课程 内容的学习。 5. 点击“返回 LMS” 按钮,返回到 lmm 模块 点击“退出”按钮,退出系统 场景描述四: 1. 用户登录的 lmm 模块,总共登陆 48 个用户,每秒同时登录 10 个用户。 2. 用户点击“登记的教程” 3. 用户点击“启动”,进行课程学习,进入 DS 模块 4. 在 DS 模块中进行学习,过程包括:首先,点击一次课程结构树;然后,进行课程 内容的学习。 5. 点击“返回 LMS” 按钮,返回到 lmm 模块,点击“退出”按钮,退出系统 场景描述五: 1. 用户登录的 lmm 模块,总共登陆 100 个用户,所有用户同时并发操作。 2. 用户点击“登记的教程” 3. 用户点击“启动”,进行课程学习,进入 DS 模块 4. 在 DS 模块中进行学习,过程包括:首先,点击一次课程结构树;然后,进行课程 作者:徐涛 msn: szxutao@hotmail.com
www.51testing.com 论坛 测试资源交流区专用 内容的学习。 5. 点击“返回 LMS” 按钮,返回到 lmm 模块 场景描述六: 1. 用户登录的 lmm 模块,总共登陆 200 个用户,所有用户同时并发操作 2. 用户点击“登记的教程” 3. 用户点击“启动”,进行课程学习,进入 DS 模块 4. 在 DS 模块中进行学习,过程包括:首先,点击一次课程结构树;然后,进行课程 内容的学习。 5. 点击“返回 LMS” 按钮,返回到 lmm 模块,点击“退出”按钮,退出系统 场景描述七: 1. 户登录的 lmm 模块,总共登陆 24 个用户。所有用户都同时并发操作 2. 所有用户都同时并发操作,户点击“登记的教程”中“test”课件 使用自发测试工具,目的测试 24 个用户同时打开课件时服务器性能 场景描述八: 1. 登录的 lmm 模块,总共登陆 60 个用户。所有用户都同时并发操作 2. 有用户都同时并发操作,户点击“登记的教程”中“test”课件 使用自发测试工具,目的测试 60 个用户同时打开课件时服务器性能 4.使用 LoadRunner 进行负载/压力测试 4.1 录制基本的用户脚本 创建用户脚本需要用到 VuGen。提示: 运行 VuGen 最好在 1024*768 的分辨率下, 否 则有些工具栏会看不到。 启动 Visual User Generator 后, 通过菜单新建一个用户脚本, 选择系统通讯的协议。 这里我们需要测试的是 Web 应用,同时考虑到后台 SQL 数据库所以我们需要选择 Web(HTTP/HTML)协议+SQL SERVER 协议,确定后, 进入主窗体。通过菜单来启动录制 脚本的命令。 作者:徐涛 msn: szxutao@hotmail.com
www.51testing.com 论坛 测试资源交流区专用 ●在 URL 中添入要测试的 Web 站点地址..。 ●测试 http://lms.ah.sp.com.cn/lms-lmm/loginForm.do 选择要把录制的脚本放到哪一个部分, 默认情况下是“Action”。 这里简单说明一下:VuGen 中的脚本分为三部分:vuser_init、vuser_end 和 Action。其 中 vuser_init 和 vuser_end 都只能存在一个, 不能再分割, 而 Action 还可以分成无数多 个部分( 通过点击 New 按钮, 新建 ActionXXX)。在录制需要登陆的系统时, 我们把登 陆部分放到 vuser_init 中, 把登陆后的操作部分放到 Action 中, 把注销关闭登陆部分放 到 vuser_end 中。( 如果需要在登陆操作设集合点, 那么登陆操作也要放到 Action 中, 因 为 vuser_init 中不能添加集合点) 在其他情况下, 我们只要把操作部分放到 Action 中即 可。注意: 在重复执行测试脚本时,vuser_init 和 vuser_end 中的内容只会执行一次, 重 复执行的只是 Action 中的部分。 作者:徐涛 msn: szxutao@hotmail.com
www.51testing.com 论坛 测试资源交流区专用 ●点“ 选项 ”按钮, 进入录制的设置窗体, 这里一般情况下不需要改动。 ●然后点“OK” 后,VuGen 开始录制脚本。在录制过程中, 不要使用浏览器的“ 后退” 功能,LoadRunner 支持不太好! 录制过程中, 在屏幕上会有一个工具条出现。录制的过 程和 WinRunner 有些类似, 不再多介绍。录制完成后, 按下“ 结束录制” 按钮,VuGen 自动生成用户脚本, 退出录制过程。 4.2 完善测试脚本 当录制完一个基本的用户脚本后, 在正式使用前我们还需要完善测试脚本, 增强脚本的 灵活性。一般情况下, 我们通过以下几种方法来完善测试脚本。插入事务、插入结合点、 插入注解、参数化输入。这里只举例介绍参数化如何设置,其它只作简单介绍。 4.2.1 插入事务 事务(Transaction): 为了衡量服务器的性能, 我们需要定义事务。比如: 我们在脚本 中有一个数据查询操作, 为了衡量服务器执行查询操作的性能, 我们把这个操作定义为一 个事务, 这样在运行测试脚本时,LoadRunner 运行到该事务的开始点时,LoadRunner 就 会开始计时, 直到运行到该事务的结束点, 计时结束。这个事务的运行时间在结果中会有 反映。 插入事务操作可以在录制过程中进行, 也可以在录制结束后进行。LoadRunner 运行在 脚本中插入不限数量的事务。 具体的操作方法如下: 在需要定义事务的操作前面, 通过菜单或者工具栏插入。输入该 事务的名称。注意: 事务的名称最好要有意义, 能够清楚的说明该事务完成的动作。插入 事务的开始点后, 下面需要在需要定义事务的操作后面插入事务的“ 结束点”。同样可以 作者:徐涛 msn: szxutao@hotmail.com
分享到:
收藏