场景设计
-负载生成器管理

by:授客
QQ1033553122


简介

当执行一个场景时,Controller把场景中的每个用户配到负载生成器(Load
generator)。

所谓的负载生成器(Load
Generator)就是执行Vuser脚本,运行Vuser模拟真实用户操作的机器。

默认情况下使用本地的负载生成器来运行脚本,但是模拟用户行为也需要消耗一定的资源,所以在一台电脑上无法模拟大量的虚拟用户,这个时候调用多个Load
Generators来完成大规模的性能负载。


运行模式设置

Load
Generator的核心是MMDRV.EXE进程,MMDRV.EXE负责运行脚本模拟用户行为,该程序支持进程或线程的方式,通过Runtime
Settings即可设置,如下,设置线程模式

大多数情况,使用进程方式时一个Vuser会占用接近3MB的内存,而使用线程方式时一个Vuser大概只占用了200KB的内存。为了保证负载生成有效性,请在真正实施性能测试前先测试一个负载器是否存在硬件瓶颈(生成负载时的CPU,内存,带宽占用情况等),确保负载器自身不会成为瓶颈,其CPU和内存的使用率最好不超过80%


添加负载生成器

点击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


为脚本选择负载生成器

如图,点击下拉三角,选择要添加的负载生成器


关于远程负载生成器

通过设置多个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 场景设计-负载生成器管理的更多相关文章

  1. loadrunner 场景设计-手工场景方案(Schedule)设计 Part 2

    loadrunner 场景设计-手工场景方案(Schedule)设计 Part 2 ---------------------------接Part 1------------------------ ...

  2. loadrunner 场景设计-手工场景方案(Schedule)设计 Part 1

    参考:http://blog.sina.com.cn/s/articlelist_5314188213_1_1.html loadrunner 场景设计-手工场景方案(Schedule)设计 Part ...

  3. Loadrunner场景设计篇——负载生成器

    1  简介 当执行一个场景时,Controller把场景中的每个用户配到负载生成器(Load generator). 所谓的负载生成器(Load Generator)就是执行Vuser脚本,运行Vus ...

  4. loadrunner 场景设计-IP Spoofer-多ip负载生成器(Windows平台)

    IP Spoofer-多ip负载生成器 by:授客 QQ:1033553122 1  适用协议 LoadRunner的多ip功能允许运行在单一负载生成器上的Vuser可以通过多ip被识别.服务器和路由 ...

  5. loadrunner 场景设计-制定负载测试计划

    by:授客 QQ:1033553122 场景设计-制定负载测试计划 步骤1.分析应用程序 你应该对硬件和软件组建,系统配置和典型的使用场景很熟悉.这些应用程序的分析保证你在使用loadrunner进行 ...

  6. loadrunner 场景设计-目标场景设计

    场景设计-目标场景设计 by:授客 QQ:1033553122 A.   概述 Goals Types for Goal-Oriented Scenarios 在以目标为向导的场景中,定义你想实现的测 ...

  7. loadrunner 场景设计-手工场景设计

    场景设计-手工场景设计 by:授客 QQ:1033553122 概述 通过选择需要运行的脚本,分配运行脚本的负载生成器,在脚本中分配Vuser来建立手工场景 手工场景就是自行设置虚拟用户的变化,主要是 ...

  8. loadrunner 场景设计-手工场景设计

    概述 通过选择需要运行的脚本,分配运行脚本的负载生成器,在脚本中分配Vuser来建立手工场景 手工场景就是自行设置虚拟用户的变化,主页是通过设计用户的添加和减少过程,来模拟真实的用户请求模型,完成负载 ...

  9. 【Loadrunner】初学Loadrunner——场景设计

    在使用Loadrunner的时候,常常需要使用到场景设计.但是怎么设计一个满意的场景?如何开展? 首先可以点击tools > Create Controller Scenario > OK ...

随机推荐

  1. 通过Function Score Query优化Elasticsearch搜索结果(综合排序)

    在使用 Elasticsearch 进行全文搜索时,搜索结果默认会以文档的相关度进行排序,如果想要改变默认的排序规则,也可以通过sort指定一个或多个排序字段. 但是使用sort排序过于绝对,它会直接 ...

  2. ElasticSearch核心知识总结(一)es的六种搜索方式和数据分析

    es的六种搜索方式 query string search GET /ecommerce/product/_search //查询所有数据 { "took": 4,//耗费几毫秒 ...

  3. @RequestParam加不加的区别

    感觉@撸码识途 https://www.cnblogs.com/tinyj/p/9786131.html 加上的情况: @RequestMapping("demo") public ...

  4. Linux - 查看和更改系统字符集

    查看当前系统字符集 $ echo $LANG en_US.UTF-8 $ $ env |grep LANG LANG=en_US.UTF-8 $ $ locale |grep CTYPE LC_CTY ...

  5. PCA历程详细python代码(原创)

    #PCA主成分分析,原文为文末的链接,代码为自己亲自手码 def cov_out1(dx,dy): #第一步:求解x,y各自的均值 mean_x=0 mean_y=0 for i in range(l ...

  6. 详解C#异常处理

    一.程序运行时产生的错误通过使用一种称为异常(Exception)的机制在程序中传递,通过异常处理(Exception Handling)有助于处理程序运行过程中发生的意外或异常情况:异常可由CLR和 ...

  7. Nexus安装、使用说明 (转)

    1. 为什么使用Nexus 如果没有私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地,而一个团队中的所有人都重复的从maven仓库下 载构件无疑加大了仓库的负载 ...

  8. 一直性hash解决扩容后的hash算法不用变

    转自: http://blog.codinglabs.org/articles/consistent-hashing.html 摘要 本文将会从实际应用场景出发,介绍一致性哈希算法(Consisten ...

  9. DML和索引内部结构变化

    1.修改数据对索引结构的影响 合适的索引对查询性能和效率的提升是巨大的,但是万事有利有弊,拥有索引的表在增.删.改记录时需要去维护索引.如何让增.删.改更快速更高效?这就需要了解数据修改时对索引结构会 ...

  10. 大话DI依赖注入+IOC控制反转(一) 之 定义

    转发时请注明原创作者及地址,否则追究责任.原创:alunchen 依赖注入与控制反转      依赖注入与控制反转是老生常谈的问题.一般面试也会面试到这种问题.网上很多很多这方面的资料,搜索出来一大堆 ...