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

目录

一、JMeter分布式

1、应用场景

2、原理

3、分布式相关注意事项

4、分布式配置与运行

二、JMeter报告

1、聚合报告

2、HTML报告

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

四、JMeter下载第三方插件

五、性能监控

[1、Concurrency Thread Group 线程组](#1、Concurrency Thread Group 线程组)

2、性能测试常用图标

[1️⃣Transactions per Second](#1️⃣Transactions per Second)

[2️⃣Bytes Throughput 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程序,启动后,窗口放旁边不用管
  • 在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博客

相关推荐
程序猿阿伟29 分钟前
《深度学习模型在鸿蒙分布式框架下的跨设备高效之旅》
分布式·深度学习·harmonyos
sg_knight1 小时前
RabbitMQ如何实现队列持久化
分布式·消息队列·rabbitmq·springcloud·持久化
易雪寒1 小时前
Java大厂面试题之10种分布式ID的生成方案
java·开发语言·分布式
明达技术2 小时前
MR30分布式IO模块引领装配调试智能化升级
分布式
安科瑞王可2 小时前
浙江安吉成新的分布式光伏发电项目应用
大数据·运维·分布式·科技·自动化
Acrel 28809560712 小时前
安科瑞Acrel-1000DP分布式光伏监控系统在浙江安吉成3234.465kWp分布式光伏发电项目中的应用
分布式
kk无敌怕2 小时前
分布式主键ID生成方式-snowflake雪花算法
分布式·算法
牛马程序员‍2 小时前
云商城--基础数据处理和分布式文件存储
分布式
bug_null3 小时前
RabbitMQ-死信队列
分布式·rabbitmq
m0_719084113 小时前
rabbitmq的三个交换机及简单使用
分布式·rabbitmq