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资源监视器
领取专属 10元无门槛券
私享最新 技术干货