LoadRunner Controller
1、Controller的引入
1)需要Controller的原因?需要多个用户来模拟并发的时候。
2)一种强大的、成熟的工具的体现。
2、 Controller的启动方式
1)LoadRunner Launcher - Run Load Tests
2)在开始菜单中
3)在VuGen中
一般controller放一台机器,负载生成器放另外一台机器。因为controller负责协调和收集负载生成器的信息。如果再用它去做负载,可能收集到的数据会不准。
百分比模式:
多个脚本运行时,不需要给每个脚本指定多少个用户。会以百分比的形式自动分配。
非百分比模式
场景模式:对所有组进行统一设置。
组模式:对每个组进行单独设置:选中哪一个组,就可以对那个组进行单独的设置。
运行模式
实际计划:有时候网站访问量白天多,晚上少,这种模式可以模拟高峰低谷。一般长时间做稳定性测试用这个。一般情况还是用基本计划。
基本计划:
一般压测设置:
Controller中的运行时设置
1)与VuGen中的不同,各自有各自的,不要认为是同一个
2)Think time默认设置的不同
3)系统日志,真正运行的时候就设置成仅仅当错误时才发送,提高效率。
4)事务的设置
5)带宽的设置
但是controller里面的设置,是controller里面的,vuser是vuser里面的。需要分开设置。
可以每个group单独设置,也可以选中多个group一起设置。
注意这几个地方
关于迭代
如果持续时间大于脚本迭代时间,action在持续的时间内一直迭代。
在运行的时候,关注哪些数据,可以直接从左边拖到右边来。不关注的数据,也可以右键删除。
也可以右键进行配置。
运行过程中,可以增加用户。
运行中,各个状态
init:正在执行vuser_init
stoped:
负载生成器3
lr可以将负载生成器装到负载机中。
启动agent服务LoadRunner Agent Server 对应进程 magentservice.exe 我本机没找到
负载生成器的使用要保证负载生成器自己不要成为瓶颈。
mmdrv解析
真正运行时,是mmdrv这个进程在跑。
以线程的方式运行。50个线程用1个mmdrv。也就是说如果有101个线程,会启动3个mmdrv。会共享内存,可能会遇到一些错误。
以进程的方式运行。虚拟用户数和mmdrv是一一对应的。有多少个虚拟用户数,就有多少个mmdrv进程。对于代码来说,这种方式更安全,但是更浪费资源。
IP Spoofer和集合点
IP欺骗(IP Spoofer)
1) 为什么需要IP Spoofer?因为不管用多少个用户,用了都是同一个ip。对于有些网站,对请求频繁的ip,可能会做一些处理。比如屏蔽。这个时候,就需要使用多个ip。模拟真实的场景。
2) 如何使用IP Spoofer?
Action()
{
char *ip;
ip=lr_get_vuser_ip(); //只有controller里面发挥作用。
if (ip) {
lr_output_message("ip地址为:%s",ip);
}
else
{
lr_output_message("IP欺骗关闭");
}
return ;
}
设置2个用户跑一次。查看log。产生2个日志。说明1个用户生成1个日志
输出:Action.c(10): IP欺骗关闭 [MsgId: MMSG-17999]
打开ip欺骗。
继续运行 输出:Action.c(6): ip地址为:192.168.188.216 [MsgId: MMSG-17999]。 2个log只有1个IP
设置IP
不能选自动获得IP,然后点击高级添加IP地址。无线需要断开连接,在重新连接wifi。
可以看到这个时候有3个IP地址。
再次运行脚本。查看log
Action.c(6): ip地址为:192.168.28.104 [MsgId: MMSG-17999]
Action.c(6): ip地址为:192.168.28.105 [MsgId: MMSG-17999]
可以看出,2个虚拟用户用了不同的IP地址。
lr提供了工具用于快速生成IP
11、Controller中的集合点
脚本如下
Action()
{
lr_think_time();
lr_rendezvous("jgd");
lr_think_time();
return ;
}
controller检查到脚本中有集合点函数。可以在这里进行设置。
当rendez为设置的虚拟用户数时,同时执行。
自定义数据采集、lr_user_data_point解析
用这个函数,记录自己的数据,进行分析。用这个函数记录样本名和值。样本次数自动统计。可以去拿自己想要的数据。并在controller里进行分析。
Action()
{
int i;
for (i=;i<;i++) {
lr_user_data_point("cpu",i);
lr_think_time(0.5);
}
return ;
}
2个用户跑。
LoadRunner Controller的更多相关文章
- Loadrunner Controller运行不了,提示cannot create Vusers
执行场景时显示: Loadrunner Controller cannot create Vusers.Ensure that your load generators are available a ...
- 如何使用Loadrunner Controller 监控服务器的系统资源
(1)保证装有loadrunner Controller的控制机和被监控的目标机(服务器)之间能够ping通,在同一个网段内,保证两台机器用administrator登陆. (2)Win + R, s ...
- LoadRunner Controller 常见用法
Controller 工作原理:通过场景设计来模拟用户的真实操作并调用vugen中的脚本,再通过设置的压力机产生压力 Scenario-convert scenario to the percenta ...
- Loadrunner基础:Loadrunner Controller基本概念和使用
Loadrnner Controller 介绍 当Vuser脚本开发完成以后,可以使用Controller将这个执行脚本的用户从单用户转化为多用户,从而模拟大量用户的操作,形成负载(多用户单循环,多用 ...
- win10运行LoadRunner Controller遇到的坑
第一次在win10上运行性能测试,结果 解决方法: 后来在同事的win10电脑上安装lr11后,竟然可以运行成功,哈哈,看到希望了,不用再安装回win7了,发现他的系统版本是win10企业版,而我的是 ...
- loadrunner controller如何执行测试
使用Virtual User Generator编写需要测试的脚本 打开controller,在左侧的available scripts里选择需要测试的脚本添加(Add)到scripts in s ...
- LoadRunner Controller: 压力机
前提条件 1. 压力机所在的机器上装了LR agent ,并启用了. 运行下图所示程序,即可启动.启动之后状态栏会出现卫星小图标 2. Controller所在机器的RPC服务开启. 打开运行 –&g ...
- Loadrunner - Controller - policy - 设置集合点策略
控制器中设置集合点策略 我们在Virtual User Generator 中回放脚本无法 ...
- LoadRunner Controller集合点策略灰色问题 解决
1.脚本里已经添加了集合点,但是在Controller里集合点策略是灰色的无法点击 2.问题解决: 将下图的勾选项去掉即可(系统默认是勾选上的) 去掉勾选后可以选择了:
随机推荐
- 使用Hydra通过ssh破解密码
Hydra是非常高效的网络登录破解工具,它可以对多种服务程序执行暴力破解(SSH.VNC等等). 防止这种攻击其实很容易,方法很多.以SSH为例: Ubuntu:使用Port Knocking隐藏SS ...
- (四)js数组方法一
ES5数组方法: Array.prototype.filter() 对数组元素进行过滤 三个参数:元素值,下标,原数组 返回:过滤后符合条件的数组,不会改变原数组 let arr = [2,4,6 ...
- HBase错误大全
1. stopping hbasecat: /tmp/hbase-root-master.pid: No such file or directory 原因:hadoop的pid文件丢失,hadoop ...
- 剑指offer-第五章优化时间和空间效率(数组中的逆序对的总数)
题目:在数组中如果两个数字的前面的数比后面的数大,则称为一对逆序对.输入一个数组求出数组中逆序对的总数. 以空间换时间:思路:借助一个辅助数组,将原来的数组复制到该数组中.然后将该数组分成子数组,然后 ...
- Android开发的基础知识点
1.Android开发的四大组件: Activity:android应用程序上看到的一页. Service:运行在后台,可以其他组件交互(音乐播放器). BroadcoastReceiver:用来对外 ...
- JavaScript 与 Java、PHP 的比较
网站开发的实践从设计方面开始,包括客户端编程语言.大体上说,在网页设计中使用了三种语言:HTML,CSS和Java.自从网站发明以来,HTML和CSS已经成为网页设计的基础,但是Java被用于添加网站 ...
- Weblogic启动成功,控制台打不开
有时候,我们在linux操作系统上成功启动了weblogic,也查看了7001端口的状态是开启的.但是访问weblogic控制台没有反应,也没有报错. 使用 netstat -ano | grep 7 ...
- 并发问题 关于Redis
并发问题 关于Redis [吐槽]Jimesembria 付费请人解这个BUG , 有没有php同学有兴趣,(问题原因是理论上是5分钟内不生产同样金额的订单, 但是由于并发原因没控制好) 10:34: ...
- oracle驱动包maven下载失败解决
oracle是付费的,因此jar包也不是随便让人下的,这就给maven的下载和编译带来了麻烦,因为我们没法从maven仓库直接拿来用.解决办法就是先从别的地方获取jar包,再放到本地仓库里去,这样运行 ...
- VM 修改 virtualHW.version
1.修改BT5R3-GNOME-VM-32.vmdk文件 将encoding="windows-1252"修改为encoding="GBK" 将ddb.virt ...