Loadrunner场景设计篇——负载生成器
1 简介
当执行一个场景时,Controller把场景中的每个用户配到负载生成器(Load generator)。
所谓的负载生成器(Load Generator)就是执行Vuser脚本,运行Vuser模拟真实用户操作的机器。
默认情况下使用本地的负载生成器来运行脚本,但是模拟用户行为也需要消耗一定的资源,所以在一台电脑上无法模拟大量的虚拟用户,这个时候调用多个Load Generators来完成大规模的性能负载。
2 运行模式设置
Load Generator的核心是MMDRV.EXE进程,MMDRV.EXE负责运行脚本模拟用户行为,该程序支持进程或线程的方式,通过Runtime Settings即可设置,如下,设置线程模式
大多数情况,使用进程方式时一个Vuser会占用接近3MB的内存,而使用线程方式时一个Vuser大概只占用了200KB的内存。为了保证负载生成有效性,请在真正实施性能测试前先测试一个负载器是否存在硬件瓶颈(生成负载时的CPU,内存,带宽占用情况等),确保负载器自身不会成为瓶颈,其CPU和内存的使用率最好不超过80%
3 添加负载生成器
点击Load Generator按钮(或者Scenario->Load generators), 在打开的Load Generators对话框中点击Add并输入你要添加的负载生成器的详细信息
或者如下
点击添加Add
注意:
1.这里的名称可以是ip(本地、远程),也可以计算机名、localhost(本机)
2.如果Temporary directory目录为空,那么运行时, LoadRunner存储临时文件在负载生成器上,由负载生成器变量TEMP、TMP变量指定的临时目录.
3.要勾选Enable load generator to take part in the scenario,启用负载生成器,否则应该下面的管理器中Enable选择定的生成器,反过来,如果某个开启的负载生成器对于某个特定场景不可用,可临时禁用负载生成器,而不必要把它从列表移除。
点击More
添加后
点击Connect
添加该引擎后,可以单击Connect按钮,链接负载生成器,如果出现Ready则说明正确连接,该负载生成服务器可以使用,否则就需要检验下错误出在哪里。
说明:
Windows下,如果排除了防火墙的问题后,Load Generator无法链接一般是由于Load Generator的权限配置错误导致,具体解决方法如下:
1) HP->LoadRunner->LoadRunner Agent Runtime Setting……
说明:
Allow virtual users to run on this machine without user login
处输入登陆信息,这样可以让远程的Controller无须登陆就直接连接到这个Load Generator,这里需要输入本地电脑的账号,这样可以解决无法远程访问负载引擎的错误。
这里的Domain也就是计算机全名
2) 输入域,帐号,密码,点击OK
3 为脚本选择负载生成器
如图,点击下拉三角,选择要添加的负载生成器
4 关于远程负载生成器
通过设置多个Load Generator可以有效的增加负载量,解决单台电脑无法模拟大量负载的问题。
负载均衡
负载均衡最终通过用户在被请求负载生成器之间分发负载,来保证一个准确的负载测试。
当某个load generator的CPU超负荷使用,Controller停止在超负荷的load生成器上加载虚拟用户,并自动在其它参与了场景的生成器中分发虚拟用户,如果没有其它负载生成器,那么Controller会停止加载虚拟用户。
Laod Generators管理对话框中的图标变化表明了CPU的使用状态: 当负载生成器的CPU使用变得有问题时,负载生成器左边图标包含一个黄色条;当超负载时,图标包含一个红色条;绿色说明负载生成器有空余的资源。
注:据说负载平衡仅在手工场景的百分比模式和以目标为导向的场景中可用。??有待验证
1. 安装负载生成器
要使用远程负载生成器,必须在远程负载机器上安装负载生成器,windows下,下载.iso文件,加载,点击setup,选择组件LoadGenerator安装
2. 开启远程负载生成器的LoadRunner Agent服务
Start > Programs > LoadRunner > LoadRunner Agent Process
说明:
当场景开始运行时,Controller会将脚本传到各个负载生成器上,等运行结束后,各个负载生成器的日志会被Controller回收。
Loadrunner场景设计篇——负载生成器的更多相关文章
- loadrunner 场景设计-制定负载测试计划
by:授客 QQ:1033553122 场景设计-制定负载测试计划 步骤1.分析应用程序 你应该对硬件和软件组建,系统配置和典型的使用场景很熟悉.这些应用程序的分析保证你在使用loadrunner进行 ...
- loadrunner 场景设计-负载生成器管理
场景设计-负载生成器管理 by:授客 QQ:1033553122 1 简介 当执行一个场景时,Controller把场景中的每个用户配到负载生成器(Load generator). 所谓的负载生成器 ...
- LoadRunner测试场景中添加负载生成器
如何在LoadRunner测试场景中添加负载生成器 本文对如何在LoadRunner的测试场景中添加负载生成器,如何使用负载生成器的方法,总结形成操作指导手册,以指导测试人员指导开展相关工作. 1.什 ...
- Loadrunner:场景中添加负载生成器
场景中添加负载生成器: (1)远程机子(假设ip为192.168.134.23)开启负载生成器 开始菜单找到:LoadRunner Agent Process 开启后任务栏会显示如下图: (2)场景中 ...
- loadrunner 场景设计-目标场景设计
场景设计-目标场景设计 by:授客 QQ:1033553122 A. 概述 Goals Types for Goal-Oriented Scenarios 在以目标为向导的场景中,定义你想实现的测 ...
- loadrunner 场景设计-手工场景设计
场景设计-手工场景设计 by:授客 QQ:1033553122 概述 通过选择需要运行的脚本,分配运行脚本的负载生成器,在脚本中分配Vuser来建立手工场景 手工场景就是自行设置虚拟用户的变化,主要是 ...
- Loadrunder场景设计篇——手工场景设计
概述 通过选择需要运行的脚本,分配运行脚本的负载生成器,在脚本中分配Vuser来建立手工场景 手工场景就是自行设置虚拟用户的变化,主要是通过设计用户的添加和减少过程,来模拟真实的用户请求模型,完成负载 ...
- loadrunner 场景设计-手工场景设计
概述 通过选择需要运行的脚本,分配运行脚本的负载生成器,在脚本中分配Vuser来建立手工场景 手工场景就是自行设置虚拟用户的变化,主页是通过设计用户的添加和减少过程,来模拟真实的用户请求模型,完成负载 ...
- 【转】Loadrunder场景设计篇——添加windows Resource计数器和指标说明
转至:https://www.cnblogs.com/langhuagungun/p/8488270.html Loadrunder场景设计篇——添加windows Resource计数器和指标说明 ...
随机推荐
- 如何用redis/memcache做Mysql缓存层
方法一:直接用MysqlMysql有缓存,实现了类似的功能,如果需要缓存的东西很多,可以把缓存的内存设置大一点.这样的好处就是不用去控制缓存的失效,确保数据一致性. 方法二:启用用DAO框架的缓存比如 ...
- poj 2503 Babelfish(字典树或着STL)
Babelfish Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 35828 Accepted: 15320 Descr ...
- crontab读不来环境变量
无法识别java nohup: failed to run command `java': No such file or directory 那么在shell中加两行即可解决 . /etc/prof ...
- VC++ Debug格式化数值显示
When you watch variables in the Watch or Quick Watch window, the values are displayed using the defa ...
- C# 各版本的新特性
http://www.cnblogs.com/JeffreySun/archive/2012/11/14/2770211.html
- Kotlin——高级篇(五):集合之常用操作符汇总
在上一篇文章Kotlin--高级篇(四):集合(Array.List.Set.Map)基础中讲解到了数组Array<T>.集合(List.Set.Map)的定义与初始化.但是由于篇幅的原因 ...
- [Go语言]从Docker源码学习Go——init()方法和identifier首字母大小写区分
init()方法 如果想在一个go文件里,进行一些初始化的工作,可以把代码放到init()方法中. init()方法先被执行. func init() { // initialization of p ...
- bzoj2656
题目链接:传送门 题目大意:已知 a0=0:a1=1: n为偶数 an=a(n/2):n为基数 an=a(n/2)+a(n/2+1): 题目思路:因为n过大,所以要用java高精度,还有最多20组数据 ...
- 【BZOJ4552】[Tjoi2016&Heoi2016]排序 二分+线段树
[BZOJ4552][Tjoi2016&Heoi2016]排序 Description 在2016年,佳媛姐姐喜欢上了数字序列.因而他经常研究关于序列的一些奇奇怪怪的问题,现在他在研究一个难题 ...
- 如何转义CSV文件中的逗号
CSV全称是:Comma Separated Values 或者 Character Separated Values. 尽管第一种说法更常见,但我觉得还是第二种说法更确切一些,因为你可以使用其它字符 ...