性能测试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博客

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

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

相关文章

(已开源-AAAI25) RCTrans:雷达相机融合3D目标检测模型

在雷达相机融合三维目标检测中,雷达点云稀疏、噪声较大,在相机雷达融合过程中提出了很多挑战。为了解决这个问题,我们引入了一种新的基于query的检测方法 Radar-Camera Transformer (RCTrans)。具体来说: 首先设计了一个雷达稠密…

Python----Python爬虫(利用bs4、pyquery、xpath爬取电影名和评分)

电影网址电影大全_好看的电影_最新好看的电影_电影排行榜-影视快搜 一、bs4 import requests from fake_useragent import UserAgent from bs4 import BeautifulSoup # 设置URL地址 urlhttp://kan.znds.com/movie/ # 设置请求头 headers{User-Agent:UserAgent().edge} # 发送…

Hbuilder ios 离线打包sdk版本4.36,HbuilderX 4.36生成打包资源 问题记录

1、打包文档地址https://nativesupport.dcloud.net.cn/AppDocs/usesdk/ios.html#%E9%85%8D%E7%BD%AE%E5%BA%94%E7%94%A8%E7%89%88%E6%9C%AC%E5%8F%B7 2、配置应用图标 如果没有appicon文件,此时找到 Assets.xcassets 或者 Images.xcassets(看你sdk引入的启动文件中…

TCP通信原理学习

TCP三次握手和四次挥手以及为什么_哔哩哔哩_bilibili

unity学习13:gameobject的组件component以及tag, layer 归类

目录 1 gameobject component 是unity的基础 1.1 类比 1.2 为什么要这么设计? 2 从空物体开始 2.1 创建2个物体 2.2 给 empty gameobject添加组件 3 各种组件和新建组件 3.1 点击 add component可以添加各种组件 3.2 新建组件 3.3 组件的操作 3.4 特别的…

MYSQL--------什么是存储过程和函数

什么是存储过程和函数 存储过程: 存储过程是一组预编译的 SQL 语句集合,存储在数据库服务器中,可通过名称调用执行。它可以包含数据操作语言(DML)、数据定义语言(DDL)、控制流语句等。存储过程主…

计算机网络 (30)多协议标签交换MPLS

前言 多协议标签交换(Multi-Protocol Label Switching,MPLS)是一种在开放的通信网上利用标签引导数据高速、高效传输的新技术。 一、基本概念 MPLS是一种第三代网络架构技术,旨在提供高速、可靠的IP骨干网络交换。它通过将IP地址映…

探索Facebook的区块链计划:未来社交网络的变革

随着区块链技术的迅速发展,社交网络领域正面临一场深刻的变革。Facebook,作为全球最大且最具影响力的社交平台之一,正在积极探索区块链技术的应用。本文将深入探讨Facebook的区块链计划,分析其潜在的变革性影响,并展望…

十年后LabVIEW编程知识是否会过时?

在考虑LabVIEW编程知识在未来十年内的有效性时,我们可以从几个角度进行分析: ​ 1. 技术发展与软件更新 随着技术的快速发展,许多编程工具和平台不断更新和改进,LabVIEW也不例外。十年后,可能会有新的编程语言或平台…

C# async和await

第一种: 多个异步任务按照顺序执行先让一个异步任务start 然后通过ContinueWith方法 在参数函数的表达式里面开启第二个任务如果要有第三个任务 需要在第二个任务ContinueWith方法中开启第三个任务 以此类推 可以实现多个异步任务顺序执行 上面这种方式绘出现地狱回…

Excel 技巧03 - 如何对齐小数位数? (★)如何去掉小数点?如何不四舍五入去掉小数点?

这几个有点儿关联,我都给放到一起了,不影响大家分别使用。 目录 1,如何对齐小数位数? 2,如何去掉小数点? 3,如何不四舍五入去掉小数点? 1,如何对齐小数位数&#xff…

node.js|浏览器插件|Open-Multiple-URLs的部署和使用,实现一键打开多个URL的强大工具

前言: 在整理各类资源的时候,可能会面临资源非常多的情况,这个时候我们就需要一款能够一键打开多个URL的浏览器插件了 说简单点,其实,迅雷就是这样的,但是迅雷是基于内置nginx浏览器实现的,并…

“AI 视频图像识别系统,开启智能新视界

咱老百姓现在的生活啊,那是越来越离不开高科技了,就说这 AI 视频图像识别系统,听起来挺高大上,实际上已经悄无声息地融入到咱们日常的方方面面,给咱带来了超多便利。 先讲讲安防领域吧,这可是 AI 图像识别的…

C语言 游动的小球

代码如下&#xff1a; 在这里插入代码片#include<stdio.h> #include<stdlib.h> #include<windows.h>int main() {int i,j;int x 5;int y 10;int height 20;int velocity_x 1;int velocity_y 1;int left 0;int right 20;int top 0;int bottom 10;while(1){…

基于SpringBoot实现的保障性住房管理系统

&#x1f942;(❁◡❁)您的点赞&#x1f44d;➕评论&#x1f4dd;➕收藏⭐是作者创作的最大动力&#x1f91e; &#x1f496;&#x1f4d5;&#x1f389;&#x1f525; 支持我&#xff1a;点赞&#x1f44d;收藏⭐️留言&#x1f4dd;欢迎留言讨论 &#x1f525;&#x1f525;&…

安卓触摸对焦

1. 相机坐标说明 触摸对焦需要通过setFocusAreas()设置对焦区域&#xff0c;而该方法的参数的坐标&#xff0c;与屏幕坐标并不相同&#xff0c;需要做一个转换。 对Camera&#xff08;旧版相机API&#xff09;来说&#xff0c;相机的坐标区域是一个2000*2000&#xff0c;原点…

湖南引力:低代码技术助力军工企业实现设备管理系统创新

背景介绍 在核工业相关生产领域&#xff0c;随着技术的持续进步&#xff0c;生产活动对设备的依赖性日益增强。随着企业规模的不断扩大&#xff0c;所涉及的设备数量和种类也在急剧增长&#xff0c;这使得传统的设备管理模式逐渐显得力不从心。企业当前的设备管理主要依赖人工…

【701. 二叉搜索树中的插入操作 中等】

题目&#xff1a; 给定二叉搜索树&#xff08;BST&#xff09;的根节点 root 和要插入树中的值 value &#xff0c;将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据 保证 &#xff0c;新值和原始二叉搜索树中的任意节点值都不同。 注意&#xff0c;可能存在多…

VR+智慧消防一体化决策平台

随着科技的飞速发展&#xff0c;虚拟现实&#xff08;VR&#xff09;技术与智慧城市建设的结合越来越紧密。在消防安全领域&#xff0c;VR技术的应用不仅能够提升消防训练的效率和安全性&#xff0c;还能在智慧消防一体化决策平台中发挥重要作用。本文将探讨“VR智慧消防一体化…

nginx http反向代理

系统&#xff1a;Ubuntu_24.0.4 1、安装nginx sudo apt-get update sudo apt-get install nginx sudo systemctl start nginx 2、配置nginx.conf文件 /etc/nginx/nginx.conf&#xff0c;但可以在 /etc/nginx/sites-available/ 目录下创建一个新的配置文件&#xff0c;并在…