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