【LoadRunner】教你快速编写一个性能测试脚本 demo

news2024/11/15 23:33:52

目录

LoadRunner

工具介绍

UI性能测试步骤

编写性能测试脚本(VUG)

创建测试场景(Controller)

生成测试报告(Analysis)


LoadRunner

工具介绍

我们使用以上三个工具针对我们的项目进行性能测试。

a)Virtual User Generator(简称VUG):用来生成性能测试脚本。

b)Controller:创建测试场景,运行和监控场景。

c)Analysis:生成测试报告,分析性能测试结果。

UI性能测试步骤

a)访问登录页面;

b)执行登录;

c)进入首页。

编写性能测试脚本(VUG)

1、创建项目

由于我们测试的博客系统是一个Web项目,因此需要创建一个Web性能测试脚本,如下:

2、目录层次介绍

我们主要在Action里编写代码~

3、代码编写

主要的操作步骤为:1.打开网页,2.输入账号密码并登录;

在此期间,为了更好的让我们进行性能测试的数据收集,我们可以使用

  • 事务:衡量性能的重要指标,通过观察每秒事务通过数来衡量性能;
  • 集合点:让所有的虚拟用户执行到集合点时断在集合,满足条件后一起执行下一个步骤(保证每一个虚拟用户同时执行下一步);
  • 检查点:可以用来检测当前页面的元素是否存在以及存在个数(检查点一般放在请求之前);
  • 参数化:通过提供的数据源可以实现多个参数逐个执行;

如下代码:

Action()
{
	//开始事务1
	lr_start_transaction("index_trans");

	//1.访问博客系统网页
	web_url("web_url",
		"URL=http://43.139.193.116:8080/blog_system/login.html",
		"TargetFrame=",
		"Resource=0",
		"Referer=",
		LAST);

	//登录的集合点
	lr_rendezvous("login_rendezvous");

	//开始事务2
	lr_start_transaction("login_trans");

	//2.输入登录账号和密码
	web_submit_form("web_submit_form",
		ITEMDATA,
		"Name=username", "Value={username}", ENDITEM,
		"Name=password", "Value=123", ENDITEM,
		LAST);

	//结束事务2
	lr_end_transaction("login_trans", LR_AUTO);
	
	//结束事务1
	lr_end_transaction("index_trans", LR_AUTO);
	return 0;
}

执行结果和分析:

创建测试场景(Controller)

a)针对我们已经编写好的脚本打开controller工具,创建测试脚本,如下:

b)设置执行策略如下:

 

这个过程就像是舞台表演一样,如下:

 

c)场景运行结果

生成测试报告(Analysis)

在 controller 创建的场景中直接生成测试报告,如下:

测试报告如下:

测试报告图标如下:

1.虚拟用户运行图:

作用:通过显示的虚拟用户数量可以判断出哪个时间段服务器负载最大(上图00:40 ~ 01:40负载最大)。

2.点击数图(每秒点击率)

 作用:通过点击率可以判断出某时间段内服务器的负载。

3.吞吐量图

问题一:为什么吞吐量图和点击数图相似,但是吞吐量图要滞后一点?

  • 因为吞吐量表示的是响应返回的资源数量,肯定是现有请求再有返回。

问题二:如果请求变多但是吞吐量没变化,原因是什么?

  • 服务器响应太慢,来不及反应;
  • 压力没有到服务器;
  • 服务器设计一定的阈值(到达阈值以后,虽然也收到了请求,但是服务器不会做任何处理),保证了服务器不会因为并发量过大而出现宕机的情况;

4.事务图

5.平均事务响应时间图

作用:可以观察到,虚拟用户在性能测试中,每秒在服务器上命中的次数,可以根据命中的次数评估虚拟用户生成的负载量。

 

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

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

相关文章

3U VPX 总线架构+ 2片国防科大银河飞腾 FT-M6678 多核浮点运算 DSP 设计资料--VPX303

板卡概述 VPX303 是一款基于 3U VPX 总线架构的高性能信号处理板,板载 2 片国防科大银河飞腾 FT-M6678 多核浮点运算 DSP,可以实现各 种实时性要求较高的信号处理算法。 板卡每个 DSP 均支持 5 片 DDR3 SDRAM 实现数据缓存,两片 DSP 之…

( 位运算 ) 268. 丢失的数字 ——【Leetcode每日一题】

❓268. 丢失的数字 难度:简单 给定一个包含 [0, n] 中 n 个数的数组 nums ,找出 [0, n] 这个范围内没有出现在数组中的那个数。 示例 1: 输入:nums [3,0,1] 输出:2 解释:n 3,因为有 3 个数…

正则表达式 - 匹配 Unicode 和其他字符

目录 一、匹配 Unicode 字符 1. 匹配 emoji 符号 (1)确定 emoji 符号的 Unicode 范围 (2)emoji 符号的存储 (3)正则表达式匹配 2. 匹配中文 (1)确定中文的 Unicode 范围 &am…

PostgreSQL-HA 高可用集群在 Rainbond 上的部署方案

PostgreSQL 是一种流行的开源关系型数据库管理系统。它提供了标准的SQL语言接口用于操作数据库。 repmgr 是一个用于 PostgreSQL 数据库复制管理的开源工具。它提供了自动化的复制管理,包括: 故障检测和自动故障切换:repmgr 可以检测到主服…

二叉搜索树中的插入操作

1题目 给定二叉搜索树(BST)的根节点 root 和要插入树中的值 value ,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据 保证 ,新值和原始二叉搜索树中的任意节点值都不同。 注意,可能存在多种有效的插入…

YOLOv3论文解读/总结

本章论文: YOLOv3论文(YOLOv3: An Incremental Improvement)(原文+解读/总结+翻译) 系列论文: YOLOv1论文解读/总结_yolo论文原文_耿鬼喝椰汁的博客-CSDN博客 YOLOv2论文解读/总…

try(){}用法try-with-resources、try-catch-finally

属于Java7的新特性。 经常会用try-catch来捕获有可能抛出异常的代码。如果其中还涉及到资源的使用的话,最后在finally块中显示的释放掉有可能被占用的资源。 但是如果资源类已经实现了AutoCloseable这个接口的话,可以在try()括号中可以写操作资源的语句(…

cocos 项目实践总结

文章目录 组件文档的理解:开发过程顺序问题:1、获取锚点坐标2、事件监听3、批量生成选词按钮4、Button可以自定义边界、边界颜色、及弧度一些问题记录1、button点击过后重新恢复页面渲染,button的状态偶发还是点击态而非正常态2、偶发事件绑定…

【自动驾驶基础入门】SLAM应该怎么学习?

1、SLAM是什么? SLAM是Simultaneous Localization and Mapping的缩写,即同时定位与地图构建。也称为自主机器人导航或者无人车等领域的基本任务之一。 简单来说,SLAM是指在未知环境中,通过移动机器人并利用其搭载的各种传感器数据…

Yolov5训练日记~如何用Yolov5训练识别自己想要的模型~

目录 一.数据集准备 二.标签设置 三.模型训练 四.模型测试 最近尝试了Yolov5训练识别人体,用的是自己尝试做的训练集。见识到Yolo的强大后,决定分享给大家。 一.数据集准备 数据集是从百度图片上下载的,我当然不可能一个一个下载&#xff…

还没用过这12款建筑设计软件?你OUT了

每个建筑设计软件都针对不同的需求。选择最好的一个取决于许多因素,例如成本、与其他程序的兼容性以及您愿意花在绘图过程上的时间。它还取决于您在设计过程中所处的位置——我们可能都开始在纸上画草图,然后转向建筑软件。我们甚至需要图形设计软件来说…

Haoop集群的搭建(小白教学)

搭建hadoop集群我们必须拥有自己的虚拟机,下列我会给大家奉上超详细的集群搭建以及我在搭建的时候碰到的问题以及对应解决办法,正所谓自己走过的错路是曲折的,也是防止大家做弯路,不仅浪费时间还心态爆炸,下面带走入ha…

蜘蛛池搭建需要多少域名?全面解析!

蜘蛛池是指为搜索引擎爬虫提供优质、可靠的页面,从而提高网站的收录和排名。在蜘蛛池搭建过程中,域名数量是一个非常重要的问题。那么,蜘蛛池搭建需要多少域名呢?本文将对这个问题进行全面解析。 首先,我们需要了解什么…

SQL教程

1、基础 演示数据库,下面是选自 “Websites” 表的数据: SELECT 语句用于从数据库中选取数据。 SELECT name,country FROM Websites;SELECT DISTINCT 语句用于返回唯一不同的值。 SELECT DISTINCT country FROM Websites;WHERE 子句用于提取那些满足…

二十三种设计模式第五篇--原型模式

原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建…

Linux网络——Shell编程之循环

Linux网络——Shell编程之循环 一、循环1.循环与遍历2.循环的优势 二、for 循环语句1.for 语句的结构2.for语句应用示例 三、while 循环语句1.while 语句的结构2.while语句应用示例 四、until 循环五、跳出循环1.break2.continue3.exit 六、死循环 一、循环 定义:循…

2023年适合营销公司使用的十大「社交媒体管理」工具

在遍地都是数字营销公司的时代,对品牌来说,拥有强大的社交媒体影响力以保持竞争力从未如此重要。 而对于管理一个或多个品牌的数字营销公司来说,从内容创作到执行报告,使用正确的工具可以帮助你做到这一点。从规划、管理和跟踪社…

idb使用教程(一)

概述 iOS开发桥(idb)是一个多功能的工具,用于自动化iOS模拟器和设备。它在一个一致的、对人友好的界面中暴露了很多分布在苹果工具中的功能。 安装 idb由两个部分组成,每个部分都需要单独安装。 idb伴侣 每个目标&#xff08…

《花雕学AI》ChatMind:与AI对话,轻松梳理思路并创建思维导图

引言: 思维导图是一种有效的思维工具,可以帮助用户整理和表达自己的思路,提高学习和工作的效率和质量。然而,传统的思维导图工具往往需要用户花费大量的时间和精力,学习和操作复杂的界面和功能,而且很难根据…

医院智能导诊系统,医院导航解决方案

随着现代医院规模不断扩大,功能区域越来越细化,面对复杂的楼宇结构,集中的就诊人流,患者在就诊中经常会面临找不到目的地的困境,就诊体验变差。针对这个问题,一些面积和规模都比较大的医院,已经…