一篇文章教你如何读懂 JMeter聚合报告参数!

server/2024/9/23 9:28:49/

 

在进行性能测试时,JMeter是一款备受推崇的开源工具。而其中的聚合报告(Aggregate Report)是我们分析测试结果、了解系统性能的重要依据。今天,我们就来深入探讨如何读懂JMeter聚合报告中的各项参数。

面对复杂的聚合报告,究竟哪些参数是我们必须关注的?这些参数背后又隐藏着怎样的重要信息?

 JMeter聚合报告包含多项关键参数,以下是从线程组参数及其解释,通过实际案例配置帮助我们更好地理解这些数据:

 

线程组参数解释

图片

 

  • 线程数(即并发数)

    一个用户占一个线程,200个线程就是模拟200个用户;

  • Ramp-Up 时间(秒)

    设置线程需要多长时间全部启动;如果线程数为200,准备时长为10,那么需要1秒钟启动20个线程;也就是每秒钟启动20个线程;

  • 循环次数

    一次场景下来,请求的数量=线程数 * 循环次数;如果线程数为200,循环次数为10 ,那么每个线程发送10次请求;总请求数为200*10=2000 ;如果勾选了“永远”,那么所有线程会一直发送请求,直到选择停止运行脚本;

JMeter聚合报告参数解释

图片

  • Label:每个JMeter的element的Name值,例如HTTP Request的Name;

  • 样本:发出请求数量;模拟20个用户,循环100次,所以显示了2000;

  • 平均值:平均响应时间(单位:ms);默认是单个Request的平均响应时间,当使用了Transaction Controller时,也可以以Transaction为单位显示平均响应时间;

  • 中位数:50%的用户响应时间小于这个值;

  • 95%百分位:95%的用户响应时间小于这个值;

  • 99%百分位:99%的用户响应时间小于这个值;

  • 最小值:用户响应时间最小值;

  • 最大值:用户响应时间最大值;

  • 异常%:测试出现的错误请求数量百分比;请求的错误率 = 错误请求的数量/请求的总数;若出现错误就要看服务端的日志查找定位原因;

  • 吞吐量:Throughput简称TPS,吞吐量,默认情况下表示每秒处理的请求数,也就是指服务器处理能力,TPS越高说明服务器处理能力越好;

  • KB/sec:每秒从服务器端接收到的数据量;

压测结果分析

异常%:确认是否允许错误的发生或者错误率允许在多大的范围内;

吞吐量:吞吐量每秒请求的数大于并发数,则可以慢慢的往上面增加;若在压测的机器性能很好的情况下,出现吞吐量小于并发数,说明并发数不能再增加了,可以慢慢的往下减,找到最佳的并发数;

最大的TPS:不断的增加并发数,加到TPS达到一定值开始出现下降,那么那个值就是最大的TPS;

最大的并发数

最大的并发数和最大的TPS是不同的概率,一般不断增加并发数,达到一个值后,服务器出现请求超时,则可认为该值为最大的并发数;

压测的时候要时刻关注应用服务器数据库服务器等CPU、内存、网络等使用情况

压测过程出现性能瓶颈,若压测客户端任务管理器查看到的CPU、网络和CPU都正常,未达到90%以上,则可以说明服务器有问题,压测客户端没有问题;

影响性能考虑点包括:数据库、应用程序、中间件(php-fpm、nginx、redis…)、网络和操作系统等方面;

循环控制器

目的:循环该控制器下面子节点的次数。

线程组里循环次数设置了n次,循环控制器下的循环次数也设置了m次,则该控制器下的请求运行的次数是(n*m)次。

如果(If)控制器

图片

目的:判断条件,可以引用变量。当为 true 时,执行子节点

Interpret Condition as Variable Expression?

如果选择了此项,则条件必须是一个表达式,需要使用 ${__jexl3 } 或 ${__groovy } 表达式)

Evaluate for all children
  • 勾选:对所有采样器执行前都判断一次

  • 不勾选:仅入口判断一次

如果是字符串的比较,需要加””

"${url}"=="baidu"

注意事项:

在if逻辑控制器的Expression中不能直接填写条件表达式,需要借助函数将条件表达式计算为true/false,可以借助的函数有__jexl3__groovy函数

 随着互联网和移动应用的发展,用户对于系统响应速度和稳定性的要求越来越高。性能测试和分析变得越来越重要,而JMeter聚合报告提供了详尽的数据,帮助我们全面了解系统的性能瓶颈和改进方向。

读懂JMeter聚合报告参数,不仅能帮助我们准确评估系统性能,还能为后续的优化提供重要依据。通过深入分析每一个参数,我们能够全面了解系统在不同负载下的表现,找到性能瓶颈,并制定相应的优化方案。

性能测试不仅是发现问题的手段,更是提升系统稳定性和用户体验的关键。掌握JMeter聚合报告的解析技巧,让我们在性能优化的道路上更加从容自信,助力系统达到最佳表现。


http://www.ppmy.cn/server/90602.html

相关文章

802.11 wireshark 抓包

80211 wireshark 抓包 前言配置 monitor软件配置wireshark 操作 前言 本人习惯使用 Omnipeek 抓包分析,所以 wireshark 的实验只讲到抓包完成。 Windows 环境采用 wireshark 抓包是比较麻烦的,因为支持在 Windows 环境中支持抓包的网卡并不多&#xff0…

NLP基础知识2【各种大模型的注意力】

注意力 传统Attention存在的问题优化方向变体有哪些现在的主要变体集中在KVMulti-Query AttentionGrouped-query AttentionFlashAttention 传统Attention存在的问题 上下文约束速度慢,显存占用大(因为注意力考虑整体信息,所以每一个位置都要…

图片懒加载的使用

1.安装 npm i vue-lazyload 或者 yarn add vue-lazyload 2.导入 //引入 import VueLazyload from vue-lazyload //图片 import baby from /assets/images/baby.jpg 3.注册 // 注册 Vue.use(VueLazyload,{ //懒加载默认图片 loading: baby, }) 4.使用(将src替换称v-l…

PHP运算符

PHP 运算符是用于执行各种操作(如算术运算、比较、逻辑运算、字符串连接等)的符号。在 PHP 中,运算符的命名主要是基于它们的功能和用法,而不是像变量或函数那样可以自定义名称。以下是一个关于 PHP 运算符的详细教程,…

简单谈谈 手机版买卖现货白银的好和不好

随着科技的发展,现在买卖现货白银可以在移动设备上进行,那意味着投资者通过手机、平板电脑等都可以进行交易,这进一步解放了投资者交易的场所限制,让投资者有了更大的自由度。有条件的朋友,除了通过个人电脑做现货白银…

Datawhale AI 夏令营——AI+逻辑推理——Task1

# Datawhale AI 夏令营 夏令营手册:从零入门 AI 逻辑推理 比赛:第二届世界科学智能大赛逻辑推理赛道:复杂推理能力评估 代码运行平台:魔搭社区 比赛任务 本次比赛提供基于自然语言的逻辑推理问题,涉及多样的场景&…

探索 OpenAI GPT-4o Mini:开发者的高效创新工具

探索 OpenAI GPT-4o Mini:开发者的高效创新工具 最近,OpenAI 推出了全新的 GPT-4o Mini 模型,以其出色的性能和极具吸引力的价格,引起了开发者们的广泛关注。作为开发者,你是否已经开始探索这个“迄今为止最具成本效益…

【SpringCloud】企业认证、分布式事务,分布式锁方案落地-2

目录 高并发缓存三问 - 穿透 缓存穿透 概念 现象举例 解决方案 缓存穿透 - 预热架构 缓存穿透 - 布隆过滤器 布隆过滤器 布隆过滤器基本思想​编辑 了解 高并发缓存三问 - 击穿 缓存击穿 高并发缓存三问 - 雪崩 缓存雪崩 解决方案 总结 为什么要使用数据字典&…