controller创建负载测试场景

1、遇到问题:

在打开controller的时候遇到了问题,弹出报错框:

试图执行系统不支持的操作。

确定之后又弹出:

runtime Error!

Program: xx\xx\xx\wlrun.exe

abnormal program termination

确定之后controller便被关闭了。

百度之后也没有看到真正的解决方案,没人知道是什么原因导致,我猜想可能是破解出了问题,于是采用下面的步骤重新破解:

1、在控制面板中右键选择loadrunner,进行修复,修复之后loadrunner会恢复破解前的状态

2、关闭杀毒软件,不要打开loadrunner

3、将lm70.dll,mlr5lprg.dll复制到loadrunner\bin\下

4、用deletelicense.exe清理注册表

5、打开loadrunner,添加globa-100 license ‘AEAMAUIK-YAFEKEKJJKEEA-BCJGI’

6、再添加web-10000 license ‘AEABEXFR-YTIEKEKJJMFKEKEKWBRAUNQJU-KBYGB’

7、关闭loadrunner,重新打开controller,加载脚本,正常启动

并不适用所有情况,但也是一个解决思路,之前用的license只用添加一次就能够完成globa-100和web-10000的注册,而且安装前期没有关闭杀毒软件,可能的原因无非几种:

安装是没有关闭杀毒软件,软件安装不正确

安装包有问题,不完整

安装路径有问题,中文之类的

license有问题

之前装过,没有清理干净

缺少必要的C++库

与其他软件的冲突

一个个尝试去找解决方案吧。

如果在修复之后直接去添加license,会出现如下错误:

license security violation.Operation is not allowed

先把lm70.dll,mlr51prg.dll复制到bin,在执行deletelicense.exe,然后再打开loadrunner添加license即可。

2、loadrunner的基本结构与流程解析

其实从LR在开始菜单中的目录结构就能看出来,LR的Applications分为三部分:

1、Virtual User Generator

2、Controller

3、Analysis

这也是LR的主要流程,其他的有一个Launcher,相当于一个统一的入口。还有个Agent,是LR自带的一个小订票程序,用来练习。剩下的就是一些示例和文档了。

我们主要用到Applications的三个应用:

我们先来看一下性能测试的基本流程,然后再看LR是怎么样对照我们的流程进行实现的:

1、首先我们要制定计划,确定测试点,比如说我们要测试登录。

2、然后我们需要确定测试目标,多少人同时登录,要求达到什么指标。

3、最后,我们测试完成拿到数据之后,我们要看是否达到了指标,实际能达到什么水平。

这样的流程下来,我们发现LR的三个Application正好对应这三个阶段:

1、测试点的确定意味着我们能够确定一个vuser需要做的操作,我们通过Virtual User Generator能够录制或编写出对应的脚本;

2、测试目标的确定,让我们能够确定vuser数量,每个vuser进行的操作,在多少台机器上进行操作等,我们通过Controller就能管理这些并执行测试;

3、最后拿到数据以后,Analysis又能让我们对数据进行分析,看是否达到了想要的测试效果。

3、controller场景组分配generator压力

为了模拟真实情况,controller可以设置不同的场景组,每一个场景组可以指定不同的脚本,进行不同的操作。

在场景组中还能设定每个场景组的vuser数量,以及每一个组的vuser 是由哪个generator生成。

genetator是用来生成vuser的生成器,因为每个vuser都要占用一定系统资源,如果想要模拟太大数量的vuser,一台机器是无法实现的。这时,LR可以通过多台机器来创建vuser,同时向服务器加压。

generator在load generator中进行管理,名称即generator的IP,添加之后,需要连接之后才可以用。在场景组中为不同的group选用generator。

4、controller场景计划模拟真实加压

真实情况下,一般不会所有用户同时登录,我们需要对vuser的进入退出制定一个计划,在场景计划中,我们可以通过场景计划表和交互计划图来制定计划。

初始化即执行脚本中的vuser_init,在vuser开始运行之前对其进行初始化可以减少CPU占用量,有利于提供更加真实的结果。

在启动vuser时,可以指定是同时启动还是逐渐启动,逐渐启动可以设置每多长时间启动几个vuser,来模拟真实情况

持续时间设置后,脚本在这段时间内会持续迭代,而不会只运行Run-Time Settings里设置的迭代次数

建议设置逐渐停止vuser,以帮助应用程序到达阀值后,检测内存漏洞并检查系统恢复情况

5、Run-Time Settings运行时设置

打开VuGen的‘Vuser’ — ‘Run-Time Settings’(在controller的设计面板中也可以打开该设置),会弹出运行时设置对话框,我们可以修改运行时的一些设置来更真实的模拟用户场景。

运行逻辑:可设置迭代次数,但如果在controller中设置了脚本的持续时间之后,这里的设置将失效

步:每次迭代之后的等待时间

日志:测试期间收集的信息级别

思考时间:用户在各步骤之间停下来思考的时间,这一步的设置对模拟用户真实的操作很重要

速度模拟:模拟用户不同的网络情况

首选项 - 检查:因为进行检查点检查会消耗一定的系统资源,所以LR默认关闭了图像和文本检查,这就是很多人添加了检查点但是发现没有反应的原因。

6、监控负载下的系统

我们希望实时了解应用程序的性能以及潜在的瓶颈。LR为我们提供了一套监控器来监控服务器或组件的性能。可以配置WEB服务器监控器,Windows资源监控器等。

在controller的运行面板内,默认有四张图,其中一张就是Windows资源监控器:

1.右键单击“Windows资源图”,选择“添加度量”,打开“Windows资源”对话框。

2、在“监控的服务器计算机”中点击“添加” ,打开“添加计算机”对话框。

3、填入计算机信息,“名称”中填写要监控的服务器的IP或机器名,并选择平台。

4、完成后看到显示出能够监控的资源项,可以在这里对要监控的资源项进行管理,然后点击“确定”。即可激活windows资源监视器

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180102B0L4U100?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券