性能测试工具架构

背景

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

性能测试工具架构

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

一、虚拟用户脚本生成器

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

二、压力产生器

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

三、用户代理

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

四、压力调度和监控工具

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

五、压力结果分析工具

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何快速知道app当前页面是哪一个Activity(2.0升级版)

点我跳转 如何快速知道app当前页面是哪一个Activity 1.0版本 这个版本是用adb 命令实现的,想看的可以看看,学习一下adb 命令。 今天做了一个非常简易的app来直接监控当前页面Activity,效果直接炸裂,效果图如下: 有需要…

【学习资源】分享一个文献互助平台(CRS核心论文库)

博主在之前的博文中推荐过三个文献互助平台(科研通、谷粉、纬度)https://blog.csdn.net/dave496206/article/details/135604252?spm1001.2014.3001.5501 博主在这里再补充一个文献互助或下载平台——CRS核心论文库 1、CRS核心论文库首页: …

突破瓶颈!程序员最值得关注的19个顶级油管博主

油管可以说是互联网上最有趣的地方,你可以在这里找到任何你感兴趣的东西。这里也是学习和探索编程世界的绝佳方式。有趣又有才华的技术博主非常多,随时随地都可以与全世界的开发者交流学习。 我们整理了一些在编程领域有影响力的博主,希望能给…

SpringBoot项目logback日志配置

Session 认证和 Token 认证 过滤器和拦截器 SpringBoot统一返回和统一异常处理 SpringBoot项目logback日志配置 程序运行出现错误时,第一时间想到的是甩锅还是日志?通过查看日志定位出问题的位置,才能更好的甩锅,今天就来学习…

配置vite自动按需引入 vant 组件

为什么学 按需加载可以减少包体积,优化加载性能 学习内容 全局注册组件 import 需要的组件import 组件样式使用 app.use 注册组件 Tree Shaking 介绍使用 什么是 tree shaking? Tree shaking是一种优化技术,用于减少JavaScript或其他编程语言中未被使用…

fullcalendar案例

fullcalendar案例 <script srchttps://cdn.jsdelivr.net/npm/fullcalendar6.1.10/index.global.min.js></script><script srchttps://code.jquery.com/jquery-3.6.0.min.js></script> <!-- 引入 jQuery CDN --><script>document.addEventL…

虚拟机VMware vCneter告警:Log DIsk Exhaustion on frvc70,vCenter日志清理

其中frvc70是主机名称 1.告警原因 Troubleshooting vCenter Appliance /storage/log directory is 80% or more ful 当分区/storage/log使用率达到 80% 时&#xff0c;会触发此告警。 2.解决方法 1.通过 SSH 或通过 vCenter 虚拟机控制台连接到 vCenter Server Appliance …

Halcon 几何测量

文章目录 算子Halcon 计算两点之间的距离案例Halcon 计算点到直线的距离Halcon 计算点到区域的距离Halcon 线到区域的距离Halcon 线到线的距离 算子 distance_pp 两点之间的距离算子 distance_pp( : : Row1, Column1, Row2, Column2 : Distance) Row1 点1的行坐标 Column1 点1的…

[ESP32]在Thonny IDE中,如何將MicroPython firmware燒錄到ESP32開發板中?

[ESP32 I MicroPython] Flash Firmware by Thonny(4.1.4) IDE 正常安裝流程&#xff0c;可參考上述影片。然而&#xff0c;本篇文章主要是紀錄安裝過程遇到的bug, 供未來查詢用&#xff0c;也一併供有需要的同好參考。 問題:安裝後&#xff0c;Thonny互動介面顯示一堆亂碼和co…

网安人必看!CISP家族顶流证书攻略

网络安全已成为当今的热门领域&#xff0c;证书在职业发展中的重要性不言而喻。但是&#xff0c;证书市场五花八门&#xff0c;选择适合自己的证书可是个大问题。别担心&#xff0c;今天我们就来聊聊CISP家族的几个热门认证&#xff0c;让你在网络安全领域的发展更加顺利&#…

ADI 配合 USRP 使用的相控阵天线 cn0566

相控阵天线 在这里插入图片描述

IDEA快捷键大全

提示&#xff1a; ① 主要记录我在使用 IDEA 开发的过程中用到的快捷键&#xff0c;可以提高开发速度。 ② 不一定要全部记住&#xff0c;主要是当一个参考文档&#xff0c;大家有一点印象&#xff0c;随时可以查看。 参考博客 > IntelliJ IDEA 快捷键说明大全&#xff08;官…

Springboot+vue的健身房管理系统(有报告)。Javaee项目,springboot vue前后端分离项目

演示视频&#xff1a; Springbootvue的健身房管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot vue前后端分离项目 项目介绍&#xff1a; 本文设计了一个基于Springbootvue的前后端分离的健身房管理系统&#xff0c;采用M&#xff08;model&#xf…

WPF图表库LiveChart异常问题处理-System.ArgumentOutOfRangeException:指定的参数超出了有效值的范围

问题&#xff1a; 在使用liveChart处理一个以时间为X轴的曲线时&#xff0c;遇到一个报错&#xff1a;指定的参数超出了有效值的范围System.ArgumentOutOfRangeException:“Specified argument was out of the range of valid values. Arg_ParamName_Name” 指定的参数超出了有…

YOLOv5源码逐行超详细注释与解读(1)——项目目录结构解析

前言 前面简单介绍了YOLOv5的网络结构和创新点&#xff08;直通车&#xff1a;【YOLO系列】YOLOv5超详细解读&#xff08;网络详解&#xff09;&#xff09; 在接下来我们会进入到YOLOv5更深一步的学习&#xff0c;首先从源码解读开始。 因为我是纯小白&#xff0c;刚开始下…

EXCHANGE PARTITION 方法处理(挽救)大型分区表中的块损坏的步骤

当在巨大的表分区块&#xff08;例如 ORA-01578&#xff09;中发现损坏时&#xff0c;并且我们没有备份&#xff08;例如 RMAN、操作系统级别、导出或任何外部资源&#xff09;来恢复损坏&#xff0c;我们仍然可以尝试挽救使用 10231 事件处理表中的剩余数据&#xff08;由于跳…

扩展学习|商业智能和大数据分析的研究前景(比对分析)

文献来源&#xff1a; Liang T P , Liu Y H .Research Landscape of Business Intelligence and Big Data analytics: A bibliometrics study[J].Expert Systems with Applications, 2018, 111(NOV.):2-10.DOI:10.1016/j.eswa.2018.05.018. 信息和通信技术的快速发展导致了数字…

养老院|基于Springboot的养老院管理系统设计与实现(源码+数据库+文档)

养老院管理系统目录 目录 基于Springboot的养老院管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、老人信息管理 2、家属信息管理 3、公告类型管理 4、公告信息管理 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计算机毕设选…

西瓜书读书笔记整理(十二) —— 第十二章 计算学习理论(下)

第十二章 计算学习理论&#xff08;下&#xff09; 12.4 VC 维&#xff08;Vapnik-Chervonenkis dimension&#xff09;12.4.1 什么是 VC 维12.4.2 增长函数&#xff08;growth function&#xff09;、对分&#xff08;dichotomy&#xff09;和打散&#xff08;shattering&…

【Linux系统】文件系统和软硬链接

前言 之前的博客介绍过了打开的文件是如何被操作系统管理起来的&#xff0c;但是绝大多数文件是没有被打开的&#xff0c;静静地躺在磁盘上。 这些文件也应该要被操作系统管理起来&#xff0c;以方便系统快速地在磁盘上查找它们&#xff0c;进而加载到内存。 这套管理方式就…