性能测试05|JMeter:分布式、报告、并发数计算、性能监控

目录

一、JMeter分布式

1、应用场景

2、原理

3、分布式相关注意事项

4、分布式配置与运行

二、JMeter报告

1、聚合报告

2、HTML报告

三、并发用户数(线程数)计算

四、JMeter下载第三方插件

五、性能监控

1、Concurrency Thread Group 线程组

2、性能测试常用图标

1️⃣Transactions per Second

2️⃣Bytes Throughput per Second

3、PerfMon组件监控服务器硬件资源


一、JMeter分布式

1、应用场景

当单个测试机无法模拟用户要求的业务场景时,可以使用多台测试机进行模拟,就是Jmeter的分布 式测试。

2、原理

3、分布式相关注意事项

  • 关闭防火墙
  • 所有的控制机、代理机、服务器都在同一个网络上
  • 所有机器的JMeter 和Java版本必须一致
  • 关闭 RMI SSL 开关:在JMeter配置文件里改 

4、分布式配置与运行

建立代理机器

因为JMeter是免安装的,为了方便起见,所以可以直接把 apache-jmeter-5.6.3 安装文件复制粘贴放别的文件夹中,复制n份就有了n台代理机器。此时JMerer的原文件就是控制机。

这种方式建立的代理机器就保证了网络和版本一致。

操作步骤:假设只需要两台代理机即可完成需求

  • 配置代理机一,并启动
  • 配置代理机二,并启动
  • 配置控制机,并启动
  • 添加线程组
  • 添加HTTP请求-百度
  • 添加查看结果树

二、JMeter报告

1、聚合报告

【注意】

  • 正常情况下,响应时间的结果取平均值
  • 当响应时间最大值特别高(超出平均水平特别多),导致平均值不能代表正常/大部分水平时,可以使用百分比时间

2、HTML报告

作用:JMeter支持生成HTML测试报告,以便从测试计划中获得图表和统计信息

命令

# 格式
jmeter -n -t [jmx file] -1 [result file] -e -o [html report folder]

# 例子
jmeter -n -t hello.jmx -1 result.jtl -e -o ./report

参数描述

另外:平常在JMeter中保存的的测试文件就是.jmx文件

案例

仪表盘即统计信息
详细信息

三、并发用户数(线程数)计算

普通方法

  • 并发tps = 总请求数/总时间
  • 只能满足最基本的要求,但是不能很好覆盖系统正常的使用情况

二八原则:满足绝大多数应用场景

  • 并发tps = 总请求数 * 80% / 总时间 * 20%
  • 满足系统绝大多数情况下的应用场景的需要

根据业务运营数据的统计计算(通常用来做稳定性测试)

  • 并发TPS = 有效请求数 * 80% / 有效时间 * 20%
  • 当运营数据统计越精确时,计算出的并发TPS与实际的越接近

根据用户峰值业务操作来计算(通常用来做压力测试)

  • 并发TPS = (峰值请求数 / 峰值时间 )* 系数
  • 满足峰值请求时间段内的负载量,系数取决于项目组对于未来业务量的评估

案例

四、JMeter下载第三方插件

需要先下载JMeter插件管理工具包,再用此包下载JMeter插件 

① 安装插件管理包

  • 在Jmeter官网上(Install :: JMeter-Plugins.org)下载插件管理器Plugins-manager-1.10.jar
  • 将JAR包放入到JMeter的lib\ext目录下
  • 重启Jmeter,可以在选项下看到Plugins Manager选项

② 安装指定的插件

  • 打开Plugins Manager插件管理器
  • 选择Available Plugins,当前可用的插件
  • 选择需要下载的插件(等待右方文本内容展示出来
  • 右下点击角的下载按钮,自动的完成下载,Jmeter会自动重启

五、性能监控

需安装以下指定插件: 

1、Concurrency Thread Group 线程组

阶梯线程组:跟普通线程组很像,作用是阶梯加压;图形界面显示运行状态

添加方式:测试计划→线程(用户) →Concurrency Thread Group

参数

2、性能测试常用图标

作用:

  • 性能测试的结果统计,以聚合报告的结果为准
  • 每秒性能指标的作用是:查看系统长时间运行过程中是否有异常出现,有则进一步分析   
1️⃣Transactions per Second

每秒完成事务数:作用是统计各个事务每秒钟成功的事务个数

添加方式:测试计划→线程组→监听器→ Transactions per Second

2️⃣Bytes Throughput per Second

每秒字节吞吐量:作用是查看服务器吞吐流量(单位/字节)
添加方式:测试计划 →线程组 →监听器 →Bytes Throughput Over Time

3、PerfMon组件监控服务器硬件资源

作用:用来监控服务端的性能资源指标的工具,包括cpu、内存、磁盘、网络等性能数据

添加方法:线程组→监听器→jp@gc - PerfMon Metrics Collector

原理

监控性能指标的步骤(windows服务器)

  • 下载ServerAgent程序,链接地址:https://github.com/unpera/perfmon-agent
  • 并上传到服务器上(是指程序所在的服务器,如果是本机运行,本机就是服务器),并解压ServerAgent-2.2.3.zip
  • 手动启动ServerAgent程序,启动后,窗口放旁边不用管
    • windows服务器就运行startAgent.bat
    • linux服务器就运行startAgent.sh。
  • 在Jmeter中添加PerfMon监控组件,并配置
  • 添加线程组及HTTP请求脚本,并配置,运行即可监控资源指标

监控性能指标的步骤(linux服务器):

  • 下载ServerAgent程序,并上传到服务器上
    • 通过finalshell工具上传到指定的目录下(finalshell就是个远程控制工具,用其他的也可)
  • 手动启动ServerAgent程序,windows服务器startAgent.bat,linux服务器startAgent.sh

(1)解压缩: unzip ServerAgent2.2.3.zip

(2)进入ServerAgent目录,赋权限:

        cd ServerAgent-2.2.3

        chmod -R 777 *

(3)启动ServerAgent程序

        ./startAgent.sh

  • 添加HTTP请求 - 请求litemall首页
  • 在Jmeter中添加PerfMon监控组件,并配置

全部内容:

性能测试01|性能测试理论-CSDN博客

性能测试02|JMeter:安装、元件、线程组、HTTP请求、查看结果树、参数化-CSDN博客

性能测试03|JMeter:断言、关联、web脚本录制-CSDN博客 

性能测试04|JMeter:连接数据库、逻辑控制器、定时器-CSDN博客

性能测试05|JMeter:分布式、报告、并发数计算、性能监控-CSDN博客

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

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

相关文章

CURSOR 应用:深入理解字符前缀条件算法(Character Prefix Conditioning)

前言 在代码补全中,用户期待智能模型能根据输入快速、准确地给出建议。但现代语言模型基于Token序列运作,这在处理非Token边界输入时会带来偏差。为了解决这一问题,本文将探讨一种高效算法——字符前缀条件算法(Character Prefix…

滤波器设计流程

sos滤波器是什么为什么要 zpk2sos如何实现零相位滤波,优缺点分别是什么 滤波器的计算流程 滤波器的计算设计流程: 1.输入验证和处理: 2.检查频率范围是否合法,计算归一化的频率。 3.滤波器设计:设计带通 Butterworth…

【游戏设计原理】53 - 解决问题的障碍

1. 分析并总结原理 核心观点 游戏本质是一系列问题解决的过程,通过设计巧妙的问题和决策场景,游戏能激发玩家的兴趣和投入感。然而,当问题解决的过程被阻碍时,会降低玩家的体验甚至让他们放弃游戏。文中提到的四种障碍反映了玩家…

【多线程初阶篇¹】线程理解| 线程和进程的区别

目录 一、认识线程Thread 1.为啥引入线程 2.线程理解 🔥 3.面试题:线程和进程的区别 一、认识线程Thread 1.为啥引入线程 为了解决进程太重量的问题 解释(为什么说线程比进程更轻量?/为什么说线程创建/销毁开销比进程小&#…

平面坐标转大地坐标(arcgisPro中进行)

1、将需要转换的红线导入arcgisPro中,如下: 2、在地图菜单栏中,选择坐标转换工具,如下: 3、打开坐标转换工具 4、开启捕捉 5、 设置大地坐标显示格式 6、如下: 7、显示如图: 8、再依次添加几个待…

CentOS: RPM安装、YUM安装、编译安装(详细解释+实例分析!!!)

目录 1.什么是RPM 1.1 RPM软件包命名格式 1.2RPM功能 1.3查询已安装的软件:rpm -q 查询已安装软件的信息 1.4 挂载:使用硬件(光驱 硬盘 u盘等)的方法(重点!!!) 1…

n8n - AI自动化工作流

文章目录 一、关于 n8n关键能力n8n 是什么意思 二、快速上手 一、关于 n8n n8n是一个具有原生AI功能的工作流自动化平台,它为技术团队提供了代码的灵活性和无代码的速度。凭借400多种集成、原生人工智能功能和公平代码许可证,n8n可让您构建强大的自动化…

GWAS数据和软件下载

这部分主要是数据获取,以及软件配置方法。 一、配套数据和代码 数据和代码目前在不断的更新,最新的教程可以私信,我通过后手动发送最新版的pdf和数据代码。发送的压缩包,有电子版的pdf和数据下载链接,里面是最新的百度网盘的地址,下载到本地即可。然后根据pdf教程,结合配套的…

maven多模块项目编译一直报Failure to find com.xxx.xxx:xxx-xxx-xxx:pom:1.0-SNAPSHOT in问题

工作中项目上因为多版本迭代,需要对不同迭代版本升级版本号,且因为项目工程本身是多模块结构,且依然多个其他模块工程。 在将工程中子模块的pom.xml中版本号使用变量引用父模块中定义的版本号时,一直报Failure to find com.xxx.x…

STM32 I2C硬件配置库函数

单片机学习! 目录 前言 一、I2C_DeInit函数 二、I2C_Init函数 三、I2C_StructInit函数 四、I2C_Cmd函数 五、I2C_GenerateSTART函数 六、I2C_GenerateSTOP函数 七、I2C_AcknowledgeConfig函数 八、I2C_SendData函数 九、I2C_ReceiveData函数 十、I2C_Sen…

JavaEE初阶——计算机工作原理

一、什么是JavaEE JavaEE(Java Platform,Enterprise Edition)是sun公司(2009年4月20日甲骨文将其收购)推出的企业级应用程序版本。这个版本以前称为 J2EE。能够帮助我们开发和部署可移植、健壮、可伸缩且安全的服务器…

【微服务】2、网关

Spring Cloud微服务网关技术介绍 单体项目拆分微服务后的问题 服务地址问题:单体项目端口固定(如黑马商城为8080),拆分微服务后端口各异(如购物车808、商品8081、支付8086等)且可能变化,前端难…

【JAVA】Java开发小游戏 - 简单的2D平台跳跃游戏 基本的2D平台跳跃游戏框架,适合初学者学习和理解Java游戏开发的基础概念

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默, 忍不住分享一下给大家。点击跳转到网站 学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……) 2、学会Oracle数据库入门到入土用法(创作中……) 3、手把…

【学Rust开发CAD】1 环境搭建

文章目录 一、搭建C/C编译环境二、安装Rust三、配置 PATH 环境变量四、验证安装结果五、安装编辑工具 一、搭建C/C编译环境 Rust 的编译工具依赖 C 语言的编译工具,这意味着你的电脑上至少已经存在一个 C 语言的编译环境。如果你使用的是 Linux 系统,往…

【HTML】Day02

【HTML】Day02 1. 列表标签1.1 无序列表1.2 有序列表1.3 定义列表 2. 表格标签2.1 合并单元格 3. 表单标签3.1 input标签基本使用3.2 上传多个文件 4. 下拉菜单、文本域5. label标签6. 按钮button7. div与span、字符实体字符实体 1. 列表标签 作用:布局内容排列整齐…

中国科技统计年鉴EXCEL版(2021-2023年)-社科数据

中国科技统计年鉴EXCEL版(2021-2023年)-社科数据https://download.csdn.net/download/paofuluolijiang/90028724 https://download.csdn.net/download/paofuluolijiang/90028724 中国科技统计年鉴提供了从2021至2023年的详尽数据,覆盖了科技…

[Linux]Mysql9.0.1服务端脱机安装配置教程(redhat)

前言 本教程适用于在yum源不可用的LInux主机上安装Mysql的场景。 以redhat系主机做操作示例,debian系主机可参照步骤,将对应的rpm -ivh命令换成dpkg -i。 1. 官网下载安装包 https://dev.mysql.com/downloads/mysql/ 1.1 版本分类 MySQL Enterprise…

Apache Paimon-实时数据湖

一、Apache Paimon是什么? Flink社区希望能够将 Flink 的 Streaming 实时计算能力和 Lakehouse 新架构优势进一步结合,推出新一代的 Streaming Lakehouse 技术,促进数据在数据湖上真正实时流动起来,并为用户提供实时离线一体化的开发体验。 …

【计算机视觉】单目深度估计模型-Depth Anything-V2

概述 本篇将简单介绍Depth Anything V2单目深度估计模型,该模型旨在解决现有的深度估计模型在处理复杂场景、透明或反射物体时的性能限制。与前一代模型相比,V2版本通过采用合成图像训练、增加教师模型容量,并利用大规模伪标签现实数据进行学…

jenkins入门12-- 权限管理

Jenkins的权限管理 由于jenkins默认的权限管理体系不支持用户组或角色的配置,因此需要安装第三发插件来支持角色的配置,我们使用Role-based Authorization Strategy 插件 只有项目读权限 只有某个项目执行权限