loadrunner11的脚本及场景设计详细总结分析

更新时间:2023-10-10 15:56:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1关于LoadRunner

LoadRunner是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。通过使用LoadRunner,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。

LoadRunner是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。LoadRunner的测试对象是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助您更快的查找和发现问题。此外,LoadRunner能支持广泛的协议和技术,为您的特殊环境提供特殊的解决方案。

脚本规范

有时我们为了衡量某个action的性能,需要在action的开始和结束位置插入这样一个范围,这就定义了一个transaction,LoadRunner 运行到该事务的开始点时,LoadRunner 就会开始计时,直到运行到该事务的结束点,计时结束。这个事务的运行时间在结果中会有反映。插入事务操作可以在录制过程中进行,也可以在录制结束后进行。LoadRunner 可以在脚本中插入不限数量的事务。脚本函数如下:

脚本详细

参数化

首先选择待参数化的内容,点击右键,选择”Replace with parameter”。在弹出的对话框中,填写参数名称、选择Parameter Type,再点击Propeties,进行参数属性设置。 现选择最常用的一种参数类型,如下图所示:

点击properties后,可对该参数进行个性化设置

“Select next row ”有以下几种选择:多个VU如何取值

? ? ?

Sequential:按照顺序一行行的读取。每一个虚拟用户都会按照相同的顺序读取. Random:在每次循环里随机的读取一个,但是在循环中一直保持不变

Unique :每个VU取唯一的值。注意:使用该类型必须注意数据表有足够多的数。比如Controller 中设定20 个虚拟用户进行5 次循环,那么编号为1 的虚拟用户取前5个数,编号为2 的虚拟用户取6-10 的数,依次类推,这样数据表中至少要有100个数据,否则Controller 运行过程中会返回一个错误。

Same Line As 某个参数(比如username):

和前面定义的参数username 取同行的记录。通常用在有关联性的数据上面。这个也是很有用的,比如有时候我们要求指定VU取读取指定数据,就可以这样定义:创建参数文件,共两列,假设username、passwd,username设定取数方式是unique,passwd则设成 same line as icpcode,如果参数文件第一行数据为992201,200001,则当icpcode=992201时,icpservid会取200001。 “Update value on”有如下几种选择:多次迭代如何取值

? ? ?

once在所有的反复中都使用同一个值,

each iteration则每次反复都要取新值,并且在每次循环中读到的该参数的值都相同 each occurrence则只要发现该参数就要重新取值,即如果一个action中有多个该参数,每遇到一个就要重新取一个值。

脚本验证

调试脚本,可以在【Vuser】>【Run-Time settings】中设置循环次数及log输出,然后运行

2创建运行场景(Controller)

当脚本创建好后,需要创建测试场景Scenario,一个运行场景包括一个运行虚拟用户的机器列表,一个测试脚本的列表,及大量的虚拟用户,然后利用LoadRunner的Controller来组织测试方案。

2.1虚拟用户数

虚拟用户数目会直接影响到压力的大小。在一般情况下,采用递增虚拟用户的方式来寻找系统能够承受的合理压力。比如,预估总虚拟用户数为20个,可以设置初始为2个,每5分钟增加1或2个用户。

设置好后,接下来就要对Run-Time Setting进行设置了。

2.3 Run-Time Setting

VU中也有一个run-time setting,但作用有所不同,此处的设置主要用来对整个场景运行时进行约束,此时脚本的运行时设置就会失效;若在此没有对运行时设置,则按照脚本的设置来运行。一般情况下,会按照以下方式进行设置

Run Logic:设置成1;--比如设置这里为3,有2个并发用户,相当于执行了6次脚本

Log: 将Enable logging前面勾去掉;--即不打印输出日志,避免造成loadrunner压测机器磁盘撑爆

Think Time:一般情况,为了增大对服务器的压力而选择Ignore think time;

Browser Emulation:一般情况下,不选择Smulate brower cache和 Down non-HTML resousces;--不选择Smulate brower cache 是为了最大程度模拟一个新用户打开链接时请求的都是服务器的资源而不是本地的一些浏览器中缓存的内容;不选择Down non-HTML resousces是因为在压测时,更关注后端应用本身的性能,而不去下载存放在其他机器上的静态资源

Preferences:可以将Advanced下的File and line in automatic transaction name取消掉;--目的也是为减少压测机本身资源的消耗。 其它设置项:使用默认设置即可。

2.4Result设置

场景设置好后,即将要开始运行。此时一定要记得的一件事情就是在【Result】>【Result Settings】下将 directory指定到硬盘空间大一点的目录下。因为我们在压测过程中会产生大量的临时文件,如果放在默认目录C:\\Documents and Settings\\hanshan\\Local Settings\\Temp下的话,一般C盘空间都不会太大,会导致压测机器本身磁盘爆掉,进而影响压测结果。 关于测试结果

利用loadrunner的Analysis组件可以实现对整个测试场景的结果分析,场景结束后,在controller中可以点击【Resuluts】>【Analyze Results】,即可实现。关于对测试

并发用户压力测试脚本示例:

本文来源:https://www.bwwdw.com/article/n0sf.html

Top