Loadrunner应用之Controller

  Loadrunner工具,通常看到的有三大核心组件,VuGen、Controller、Analysis,今天我们继续来聊一下,其中的一个核心组件:Controller。

  我们做性能测试的时候,对被测系统,特别是web系统,做完了性能测试脚本开发之后,同时也应该考虑对性能测试脚本进行一些优化,比如,执行一系列的关联、参数化、检查点、集合点、事务等等,使得我们在执行性能测试实施的时候,能够获取更加真实的性能数据。那么,脚本录制和优化完成之后,是不是性能测试就完成了呢?应该说,脚本开发完成了,咱们的性能测试呢,万里长征才刚刚开始。后面的知识呢,会越来越重要,越来越难,而且不在单纯的依赖于工具本身的功能了。很多东西,其实是工具没法控制的,需要我们具体的一个经验,或者说我们本身对性能测试的理解,才能把后面的一些工作做好。那么,性能测试脚本的开发完成之后,脚本能把我们的请求发出去,这是VuGen需要去解决的问题。那么Controller又来解决什么问题呢?我们来梳理一下。

  Controller,顾名思义,叫做控制器,所以它很多的功能都是控制部分的(见下图),比如说,它首先控制虚拟用户数量。我们要并发多少虚拟用户,需要在controller中设计。虽然我们前面说过,Loadrunner有三个核心组件,但是,还有另外一个,叫Load Generator--负载生成器, 一个更更重要的隐藏起来的一个核心组件,事实上,这个才是Loadrunner本身最核心的一部分。负载生成器用来模拟虚拟用户数的。如果说我们只有controller,而没有负载生成器,咱们使用Loadrunner也做不了性能测试。负载生成器这个专门的组件用来模拟虚拟用户,模拟多个线程,那么controller呢?它对负载生成器又有怎么样的一个控制呢,这个我们后面慢慢来说。

  第二点,controller除了控制虚拟用户数和负载生成器,它还需要控制咱们的性能测试场景。例如,我们现在假设要模拟500个用户,那么到底这个500个用户以什么样的场景来把请求发给服务器,是500个用户逐渐增加,500个用户执行多长时间,以什么样的方式来释放这些用户等等,这些呢,都是controller里面控制的。

  第三点,controller需要控制各种运行策略。例如,集合点功能,需要controller去控制。同样,比如咱们在执行性能测试的时候,考虑到,我们要去模拟用户的带宽。而通常情况下,我们都是在局域网内完成的性能测试的,带宽一般都是1000M,甚至更大的流量,都不是问题,但是真实用户在访问你的系统的时候,他的带宽能达到多少呢,现在主流的家庭主流带宽可能就是20m,50,100m,甚至有的还是5m,2m的,所以我们在做性能测试的时候,也需要去考虑用户的带宽问题,Loadrunner也支持这个功能(见下图),我们如果只用最大的带宽在局域网内部去测试,毫无疑问,带宽足够大,但实际上,就偏离了我们的另外一个对性能测试严格要求的这么一个条件,我们的要求相当于就放松了。而我们的loadrunner也可以控制这种各种各样的运行策略,从而达到模拟用户的真实行为。

  

  另外,在controller里面,还有一些附属的功能,附属的功能主要提供了,各种指标的监控。我们在去做性能测试的时候,Loadrunner本身模拟的只是一个客户端,或者说很多个客户端向服务器发送请求,因此呢,它也只能是从客户端的角度来看待和审视这个系统的性能,如果说我们能在性能测试执行的过程中,又能通过LR监控到服务器端的,更有针对性的一些性能指标,那么就可以一方面从客户端的角度对系统有一个整体的掌握,同时咱们也可以对服务器端的更真实的性能指标有一个完全的把握,这样我们把客户端的指标和服务器端的指标结合起来进行相应地分析,我们才能对这个被测系统有一个更完整的掌控,然后对这个被测系统的分析才能更加的准确,虽然controller附属这种指标的监控的功能,并非controller的核心功能,但是呢,他对我们的性能测试实施,提供了一种方便。

  上述只是对controller的功能做一个简单的概述,对它的总体功能有一个简单的了解,具体使用过程,待续...

性能测试-Loadrunner组件Controller一的更多相关文章

  1. 软件测试基础Ⅲ(osi7层协议,测试模型,LoadRunner组件,软件质量模型)

    osi7层开放式系统互连网络模型 1.物理层:主要定义物理设备标准,如网线的接口类型.光纤的接口类型.各种传输介质的传输速率等.它的主要作用是传输比特流(就是由1.0转化为电流强弱来进行传输,到达目的 ...

  2. 老李分享:Eclipse中开发性能测试loadrunner脚本

    老李分享:Eclipse中开发性能测试loadrunner脚本 前篇我分享了如何用loadrunner搭建javauser的性能测试脚本环境,本次我来告诉大家如何在eclipse开发loadrunne ...

  3. [性能测试] LoadRunner结果分析 – TPS(转)

    [性能测试] LoadRunner结果分析 – TPS 针对吞吐率和 TPS 的关系,这个在结果分析中如何使用,就个人经验和朋友讨论后,提出如下建议指导,欢迎同僚指正. 相关定义 响应时间 = 网络响 ...

  4. loadrunner性能测试巧匠训练营-controller

    1.设置集合点 现在脚本添加集合点的函数,集合点不能添加到事务里面,负责统计事务的时候会把时间计算进去 2.IP欺骗 前言 https://www.cnblogs.com/danbing/p/7459 ...

  5. Angular动态注册组件(controller,service...)

    使用angular的场景一般是应用类网站 这也意味着会有很多的controller,service,directive等等 正常情况下我们要把这些内容一次性下载并注册,由于文件较多,对首次加载的效率影 ...

  6. 2017年3月23日 坚果性能测试Loadrunner 免费公开课

    2017-03-23  坚果性能测试1群 607937164  我昨天看了一下飞扬老师的讲义PPT,真的很棒,BAT的专业性能老师果然是有好几把刷子,十分受教,相信周四的公开课一定会让大家收益颇丰的. ...

  7. LoadRunner性能测试-loadrunner工具破解

    Loadrunner11破解 破解工具下载:http://pan.baidu.com/disk/home?errno=0&errmsg=Auth%20Login%20Sucess&&a ...

  8. LoadRunner性能测试-LoadRunner工具安装

    Loadrunner11安装 1,在网上下载loadrunner11安装包 (百度可以下载安装包) 2,打开安装文件,点击setup.exe进行安装: 3,win10系统可能会出现如下问题: 提示管理 ...

  9. 性能测试Loadrunner与Mysql

    1.库文件下载地址:http://files.cnblogs.com/files/xiaoxitest/MySQL_LoadRunner_libraries.zip 分别库文件和代码添加到Loadru ...

随机推荐

  1. bzoj1603 / P2913 [USACO08OCT]车轮旋转Wheel Rotation

    P2913 [USACO08OCT]车轮旋转Wheel Rotation 稳妥起见(防止数据出锅),用了bfs 每次的转移可以直接用异或和解决. #include<iostream> #i ...

  2. 20145309李昊《网络对抗》MSF应用基础

    实验内容 掌握metasploit的基本应用方式1.主动攻击——ms08_0672.针对浏览器的攻击——ms11_0503.针对客户端的攻击——Adobe4.成功应用一个辅助模块——scanner/d ...

  3. 一个轻量级分布式 RPC 框架 — NettyRpc

    原文出处: 阿凡卢 1.背景 最近在搜索Netty和Zookeeper方面的文章时,看到了这篇文章<轻量级分布式 RPC 框架>,作者用Zookeeper.Netty和Spring写了一个 ...

  4. centos 升级python26到python27

    由于开发库依赖于python27,而自己安装的centos6.8自带的python是2.6.6,因此打算简单的做一下升级. 因为centos的yum依赖于python26因此不打算覆盖26.步骤如下: ...

  5. Python内置函数(9)——callable--转载

    英文文档: callable(object) Return True if the object argument appears callable, False if not. If this re ...

  6. [原][译][osgearth]API加载地球(OE官方文档翻译)

    原文参考:http://docs.osgearth.org/en/latest/developer/maps.html#programmatic-map-creation 本人翻译水平有限... 加载 ...

  7. 浅谈webpack优化

    webpack优化方案 1. 优化开发体验 1-1. 加快构建速度 ① 缩小文件搜索范围 由于 Loader 对文件的转换操作很耗时,需要让尽可能少的文件被 Loader 处理,用include和ex ...

  8. Linux命令详解-install

    install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户. 1.命令格式: (1)install [选项]... 来源 目的地 (2)install [选项]... 来源... 目录 ...

  9. 个人知识管理系统Version1.0开发记录(05)

    demo controller我们从前面的实现过程可以得出三种普遍使用的信息处理方式:1.操作数据库,对数据进行增删改查,比如运用sqldevloper查看数据信息.2.运用计算机程序语言,对数据进行 ...

  10. HTML字符转码

    以下是HTML特殊字符的编码表: 标记 编码 实际名称 ™ ™ € € Space   ! ! " " " # # $ $ % % & & & ' ...