测开(性能测试---LoadRunner)

 

目录

一、LoadRunner的安装

二、Loadrunner的基本概念

三、开发测试脚本——VUG

3.1 脚本录制

3.2 脚本加强

四、设计场景——Controller


        LoadRunner是一款开源桌面应用软件,可用来模拟用户负载完成性能测试工作,LoadRunner的功能在版本不断升级的过程中已经十分强大,现在很多互联网公司都在使用LoadRunner来完成产品或者 Loadrunner是业界公认的权威性能测试工具,被誉为工业级的性能测试工具,支持广泛的协议和平台。

本节主要介绍以下内容:

  • LoadRunner安装
  • LoadRunner的基本概念
  • 开发测试脚本

一、LoadRunner的安装

现在以Loadrunner12为例,说明一下安装过程。

1、双击HP LoadRunner 12.53 Community Edition.exe启动安装程序

2、安装程序开始解压,选择默认路径即可,点击install

3、Loadrunner程序会使用到Visual C++的库,如果缺少这些库,安装程序会提示安装,这时选择“确定”进行安装即可,过程中如果提示重启,按要求重启即可,重启后会继续进行安装过程。

4、安装过程中会有如下的提示。若无指定代理使用的证书,则去掉勾选。

整个安装过程比较慢,耐心等待~~~

安装完成后,界面出现三个图标,如图:

 


二、Loadrunner的基本概念

功能:LoadRunner是一种适用于许多软件体系架构的自动负载测试工具,从用户关注的响应时间、吞吐量, 并发用户和性能计数器等方面来衡量系统的性能表现,辅助用户进行系统性能的优化。

原理:LR启动以后,在任务栏会有一个Agent进程,通过Agent进程,监视各种协议的Client与Server端的通讯,用LR的一套C语言函数来录制脚本,所以只要LR支持的协议,就不会存在录制不到的,然后LR调用这些脚本向服务器端发出请求,接受服务器的响应。至于服务器内部如何处理,它不关心。 LoadRunner通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,优化性能和加速 应用系统的发布周期。

组成:LoadRunner主要包括三个前台功能组件,分别为VuGen(虚拟用户脚本生成器)、Controller(测试控制器)和Analysis(结果分析器)。系统会自动调用后台功能组件LG(负载生成器)和Proxy(用户代 理)来完成性能测试工作。

  • VuGen 是录制与便携脚本的地方。通过录制或编写脚本来模拟用户的行为。
  • Controller是执行负载测试管理和监控的中心。在这里指定具体的性能测试方案,执行性能测试,收集测试数据,监控测试指标。监控工具将测试过程中收集到的客户机、服务器和网络性能指标数据显示在监控页面上,便于测试人员对系统表现进行随时掌握。
  • LG是模拟多用户并发访问被测试系统的组件。模拟多用户访问系统的前提是已经具备了虚拟用户脚本,VuGen 是录制和编辑虚拟用户脚本的工具,录制好的脚本是不同语言表达的文本文件,在LG执行时被解析和执行。脚本录制和回放过程是在Proxy支持下完成的。 Analysis在测试完成后,对测试过程中收集到的各种性能数据进行计算、汇总和处理,生成各种图表和报告,为系统性能测试结果分析提供支持。

在使用loadrunner之前,先了解一下几个概念:

  • Scenario:场景。所谓场景,是指在每一个测试过程中发生的事件。
  • Vusers:虚拟用户。LoadRunner使用多线程或多进程来模拟用户对应用程序操作时产生的压力。 一个场景可能包括多个虚拟用户,甚至成千上万个虚拟用户。
  • Vuser Script:脚本。用脚本来描述Vuser在场景中执行的动作。
  • Transactions:事务。事务代表了用户的某个业务过程,需要衡量这些业务过程的性能。
  • rendezvous :集合。当我们测试多个用户并发时,每个用户执行到该事务脚本的先后顺序是不确 定的,所以得到的测试结果也并不是一个完全 并发的极限测试结果。在开始事务之前 ,插入一 个“集合点”,那么在多用户执行时,就可以将用户请求停下来,直到用户数量达到满足的条件(默认是100%的用户都到达集合点)。那么,所有的用户都将同时发出接下来的请求。

三、开发测试脚本——VUG

3.1 脚本录制

下面以Loadrunner安装时附带的样例程序Web Tours进行讲解。 选择StartServer.bat启动服务。

1、启动 Visual User Generator 后,选择新建脚本,因为要测试的是web项目,所以选择协议为Web-HTTP/HTML,点击创建后,进入主窗体

2、在解决方案资源管理器中可以看到该脚本的组成部分。简单说明一下:VuGen 中的脚本分为三部 分:vuser_init、vuser_end 和Action。vuser_init用于用户初始化,vuser_end用于用户清理工作。 Action用于具体的需要测试的操作。类似于unittest等测试框架。

举例说明:

         一个测试场景为:用户登录系统,进行搜索操作,再进行退出系统。 这里,一般将登陆放置到vuser_init,退出放置到vuser_end,搜索放置到Action。

注意:在重复执行测试脚本时,vuser_init 和vuser_end 中的内容只会执行一次,重复执行的只是 Action 中的部分。

3、选择录制操作,可以开始一次录制操作,在录制中需要填写URL,这里以127.0.0.1:1080/We bTours/为例。录制到操作说明是将脚本放置到哪里。在录制中也可以修改脚本放置的地方。 已注册的用户名和密码查看地址:LoadRunner\WebTours\cgi-bin\users 开始录制中

“立即”默认情况下是选中的,说明应用程序一旦启动,VuGen 就会开始录制脚本;如果没有选中,应用程序启动后, VuGen 出现对话框,待确认后才开始录制。一般默认即可。

如果Action里没代码,勾选一下设置


3.2 脚本加强

问题1:为什么对脚本进行加强

监控性能测试的各项指标(​并发用户数、响应时间 / 平均响应时间、事务、点击率、吞吐量、思考时间、 资源利用率)

问题2:脚本如何进行加强

1、插入事务

2、插入集合点

3、插入检查点

4、参数化

5、打印日志


四、设计场景——Controller

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/124172.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JWT详解解读读

📑前言 本文主要是jwt解读文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是青衿🥇 ☁️博客首页:CSDN主页放风讲故事 🌄每日一句:努力一点&#…

WebDAV之π-Disk派盘 + 读出通知

手机各种推销通知太多,如何避免那些繁琐的通知内容,做出一键就能够阅读重要通知的最佳体验,帮助您更加快速和便捷的体验到那些应用内容?推荐大家使用读出通知。 读出通知APP可以设置接收通知的app,还可以用耳机操作,操作简单,你还可以指定播报设备,还有播报的声音的设置…

数据结构 | 顺序表专题

数据结构 | 顺序表专题 文章目录 数据结构 | 顺序表专题课前准备1. 目标2. 需要的储备知识3. 数据结构相关概念 开始顺序表1、顺序表的概念及结构2、顺序表分类3、动态顺序表的实现初始化顺序表顺序表的销毁顺序表的尾插顺序表的头插检查容量顺序表的尾删打印顺序表顺序表的头删…

静态网站免费部署平台介绍

静态网站免费部署平台 静态网站是指由 HTML、CSS 和 JavaScript 等静态文件构成的网站。静态网站部署平台是用于将静态网站文件托管到服务器上的平台。 静态网站部署平台有很多,其中也有一些提供免费服务。以下是一些比较流行的免费静态网站部署平台: …

VS的QT项目找不到qt环境-解决办法

用VS创建的QT项目分享给别人时,可能会出现项目识别不到QT环境的问题,这是因为对方的QT系统环境变量的路径不同,可以在 VS的属性 -> VC目录 -> 包含目录 添加如下内容: %USERPROFILE%\AppData\Local\Microsoft\WindowsApps…

异或运算的魔法

异或运算大家都知道指的是对于两个数转准成二进制之后,相同位置上的如果同时为或者,那么异或的结果就是0,不同就是1,比如01异或00结果是01,但是时间长了相信大家都很容易记混,那么有一种很好记的方式&#…

绕WAF手法总结

云锁 被拦截 http://www.test123.com/article.php?id1%20union%20select%201,2,3 绕过 http://www.test123.com/article.php?id-1/*!36000union*//*!36000distinct*//*!36000select*/1,2,user() 360websec 被拦截 http://www.xxx.com.cn/productshow.php?id79 绕过 http:/…

机器学习笔记 - 神经辐射场(NeRF)的简要概述

一、简述 神经辐射场十分重要。在表示和渲染 3D 场景领域,神经辐射场 (NeRF) 在准确性方面取得了巨大突破。 给定底层场景的多个图像,NeRF 可以从任意视点重建该场景的高分辨率、2D 渲染图。与局部光场融合 (LLFF) 和场景表示网络 (SRN) 等现有技术相比,NeRF 更能够捕获场景…

手撕排序之直接选择排序

前言: 直接选择排序是排序中比较简单的排序,同时也是时间复杂度不是很优的排序。 思想: 本文主要讲解直接选择排序的优化版本。 我们经过一次遍历直接将该数列中最大的和最小的值挑选出来,如果是升序,就将最小的和…

【递归、搜索与回溯算法】第五节.129. 求根节点到叶节点数字之和和814. 二叉树剪枝

作者简介:大家好,我是未央; 博客首页:未央.303 系列专栏:递归、搜索与回溯算法 每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!!!&am…

.jnlp

首先配置电脑的java环境。 百度搜索jre下载,会有很多结果,一般选择官网进行下载。 下载正确的jre版本。 我的电脑是windows 64位,根据你自己电脑的情况选择版本进行下载。不懂自己电脑是多少位的可以看下一步。 查看电脑是64位还是32…

如何改善设备综合效率(OEE)并提高工厂的生产力

在现代制造业中,提高设备综合效率(Overall Equipment Efficiency,OEE)是企业追求高效生产和优化生产能力的重要目标之一。OEE是一个关键的绩效指标,可以帮助企业评估设备的利用效率、生产效率和质量水平。本文将从三个…

Spring源码-refresh(1)

1、Refresh方法简介 refresh 是Spring的核心流程,主要包含13个方法。这13个方法中主要又包含3个方法。 如图: 其中标记星号的代表主要的方法。从方法中后面的分支数据也可以看出,主要的方法中存在大量的逻辑处理,后面我们会慢慢分…

SQL-正则表达式和约束

文章目录 主要内容一.正则表达式1.操作1代码如下(示例): 2.操作2代码如下(示例): 3.操作3代码如下(示例): 4.操作4代码如下(示例): 二.约束1.主键约束 2.自增长约束3.非空约束4.唯一…

mysql 操作慢查询日志

1、mysql 批量插入300w数据 CREATE PROCEDURE test_insert_200w() BEGINDECLARE i INT;SET i1;WHILE i<3000000 DOINSERT INTO shop_user (password, telephone, username) VALUES (admin, 15510304125, concat(admin, i));SET ii1;END WHILE; END; //执行sql call test_in…

国产服务器安装onlyoffice详细教程

1.通过docker安装onlyoffice 找一台能访问互联网的服务器下载onlyoffice镜像 sudo docker pull onlyoffice/documentserver查看镜像 docker images 启动onlyoffice docker run -itd \ --name onlyoffice1 \ --restart always \ -p 8099:80 \ -v /data/docker/onlyoffice/lo…

微信小程序之投票管理

前言 对于会议管理模块&#xff0c;必不可少的当然就是我们的投票管理&#xff0c;实现真正意义上的无纸化办公&#xff0c;本期博客为大家介绍会议管理模块&#xff0c;包括发布投票及查看各类投票的状态 所用技术点 MyBatis、SpringMVC、VentUI MyBatis和SpringMVC在博客主…

最新发布!阿里云卓越架构框架重磅升级

云布道师 10 月 19 日阿里云峰会山东上&#xff0c;阿里云重磅升级《阿里云卓越架构白皮书》&#xff0c;助力企业在阿里云上构建更加安全、高效、稳定的云架构。《阿里云卓越架构白皮书》在今年的阿里云峰会粤港澳大湾区首度亮相&#xff0c;这是阿里云基于多年服务各行各业客…

数据结构基础

在计算机科学中&#xff0c;数据结构是一种数据组织、管理和存储的格式&#xff0c;它可以帮助我们实现对数据高效的访问和修改&#xff0c;更准确的说&#xff0c;数据结构是数据值的集合&#xff0c;它可以体现数据值之间的关系&#xff0c;以及可以对数据进行应用的函数或操…

word行内插入mathtype 公式后行距变大解决办法

现象 word行内插入mathtype 公式后行距变大 解决方法 选中要进行操作的那些行&#xff0c;依次单击菜单命令“格式→段落”&#xff0c;打开“段落”对话框&#xff1b;单击“缩进和间距”选项卡&#xff0c;将间距的“段前”和“段后”都调整为“0行”&#xff1b;将“如果…