性能测试工具架构

背景

性能测试工具(LoadRunner为例)
性能测试工具通常是指那些用来支持压力、负载测试,能够录制和生成脚本、设置和部署场景、产生并发用户和向系统施加持续压力的工具。
性能测试工具录制的是服务端与应用之间的通信数据,而不是应用的GUI操作。选取什么协议,取决于应用和客户端之间的通信协议,了解性能测试工具的架构有助于帮助我们理解性能测试工具的原理。(一起了解下吧,go!go!go!)

性能测试工具架构

  • 背景
  • 一、虚拟用户脚本生成器
  • 二、压力产生器
  • 三、用户代理
  • 四、压力调度和监控工具
  • 五、压力结果分析工具

一、虚拟用户脚本生成器

功能
(1)通过Proxy作为客户端和服务器之间的中间人,接收从客户端发送的数据包,记录并将其转发给服务端;接收从服务端返回的数据流,记录并返回给客户端
(2)对数据流进行分析,用脚本函数将客户端和服务端的交互过程体现为脚本语句。
(3)虚拟用户脚本生成器一般自带IDE环境,用户可以通过该IDE环节对脚本进行修改和调试,例如进行参数化、关联和Log输出
简单画一下就如下图所示
在这里插入图片描述

二、压力产生器

根据脚本内容产生实际的负载(进程或者线程)。例如一个场景需要产生100个虚拟用户,则压力产生器就会在调度下生成100个线程或者进程,每个线程都对指定的脚本进行解释执行。

三、用户代理

使用背景:要实现大量用户并发时,一台机器的系统资源有限,唯一的解决办法是通过多台机器进行协作,通过“用户代理”产生步调一致的虚拟用户。
用户代理是运行在负载机上的进程,与产生负载压力的进程或者线程协作,接收调度系统的命令,调度产生负载压力的进程或线程,一般以后台方式在负载机上运行,此处提供一个词条链接: 分布式压测,感兴趣可以了解下。

四、压力调度和监控工具

(1)压力调度工具可以根据用户的场景要求,设置各种不同脚本的虚拟用户数量,设置同步点等。
例如线程1设置100个用户执行脚本,线程2设置120个用户执行脚本,用户数按照每分钟增加10个的方式增长,不同的线程可以设置不同的调度策略。
(2)监控系统:
可以对各种数据库、应用服务器、各种服务器的主要性能计数器进行监控。不同的性能测试工具可以提供不同类型的服务器性能计数器监控的能力,是否具有强大的监控能力也是衡量性能测试工具是否完备的指标之一。
相关性能指标可以参考鄙人性能测试基础知识(三)性能指标这一篇文章

五、压力结果分析工具

压力结果分析工具用来辅助进行测试结果的分析。
性能测试工具附带的分析工具一般都能将监控系统获取的性能计数器值生成曲线图、折线图等图表,还能根据用户的需求建立不同曲线之间的叠加、关联操作,从而提供从各方面揭示压力测试结果的能力。
压力结果分析工具不能替代分析者进行性能结果分析,只是一种协助的手段,毕竟测试是总会遇到各种见鬼的情况,得依靠测试工程师的知识积累和经验去分析。

wuu~
又是学到知识的一天~
看到这了,也给你点个赞吧~
在这里插入图片描述

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

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

相关文章

canvas自定义扩展方法:文字自动换行

查看专栏目录 canvas实例应用100专栏,提供canvas的基础知识,高级动画,相关应用扩展等信息。canvas作为html的一部分,是图像图标地图可视化的一个重要的基础,学好了canvas,在其他的一些应用上将会起到非常重…

Android进阶之路 - ViewPager2 比 ViewPager 强在哪?

我记得前年(2022)面试的时候有被问到 ViewPager 和 ViewPager2 有什么区别?当时因为之前工作一直在开发售货机相关的项目,使用的技术要求并不高,所以一直没去了解过 ViewPager2~ 去年的时候正好有相关的功能需求&#…

JavaScript入门

第二个知识点:javascript的基本语法 定义变量 在JavaScript里面,没有int,string 之类的数据类型,只有 var var num 1; var string "天玄地号"; 在javascript中,写完一句语句之后可以不加分号&#xff…

【lesson30】MySQL事务一致性和再次理解隔离性

文章目录 一致性(Consistency)如何理解隔离性2数据库并发的场景有三种:读-写3个记录隐藏列字段undo log日志模拟 MVCC思考Read ViewRR 与 RC的本质区别测试RR 与 RC的本质区别分析 一致性(Consistency) 事务执行的结果,必须使数据库从一个一致性状态&am…

【Java】实现图书管理系统

文章目录 1. 设计背景2. 需求分析3. 设计思路4. 实现4.1 book包4.1.1 Book类4.1.2 BookList类(书架) 4.2 user包4.2.1 User 类4.2.2 AdminUser类(管理员用户)4.2.3 NormalUser类(普通用户) 4.3 operation包4.3.1 IOPeration接口4.…

企业数字化转型有哪些难点?

企业数字化转型虽然带来诸多好处,但往往是一个复杂且充满挑战的过程。以下是组织在数字化转型计划中可能面临的一些常见困难: 1.抵制变革: 员工抵制:员工可能会抵制对其既定工作流程、工具和流程的更改。人们可能会担心工作被取…

周期承压下的徐工机械:收入持续负增长,大肆并购风险犹存

撰稿|行星 来源|贝多财经 工程机械行业的发展程度是衡量工业化水平的关键指标,亦是一直以来备受国家与市场关注的高成长板块。 在探索新发展增量的大军中,徐工机械(SZ:000425)活跃工程机械市场,寻求着利润与品质的最…

在 python 中调用 C/C++

Python 是一种很好用的胶水语言,利用Python的简洁和C的高效,基本可以解决99%的问题了,剩下那 1% 的问题也就不是问题了,毕竟不是所有问题都可解。 一般的,Python和C的交互分为这两种情况: 用C扩展Python&…

【开源】SpringBoot框架开发海南旅游景点推荐系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用户端2.2 管理员端 三、系统展示四、核心代码4.1 随机景点推荐4.2 景点评价4.3 协同推荐算法4.4 网站登录4.5 查询景点美食 五、免责说明 一、摘要 1.1 项目介绍 基于VueSpringBootMySQL的海南旅游推荐系统&#xff…

AI的安全应答之道

作者:统信UOS技术团队 2023,随着各种大语言模型的爆发,整个AI生态正处于从决策式AI进化到生成式AI的进程中。各类AI模型和AI应用层出不穷,也随之带来了与AI相关的各类潜在风险。AI开发和使用过程中的风险防范和治理,成为了不可忽…

中国传媒网CEO徐晓艺荣膺第九届金鸥奖“2023年度最佳创新人物”殊荣

2023年是不平凡的一年,风云变幻。大国经济有韧性,离不开顶层设计、宏观政策的指挥,也离不开千百万求新求变的企业和企业家们的辛勤耕耘。在经历了三年疫情严峻考验的当下,中国号巨轮迎风搏浪心如磐石,无惧险阻屹立潮头,这不仅是中国红的底色,也是中国企业家的坚守和倔强。2023年…

linux+rv1126/imx6ull:opencv静态库交叉编译

目录 1.下载 2.准备工作 2.1安装依赖环境 2.2安装Cmake 2.3 解压opencv 3.Cmake设置 3.1文件夹选择 1)进入源码根目录 2)运行cmake 3)选择目录 4)进入配置界面 5)查找编译器 6)配置编译器 3.…