当前位置: 首页 > news >正文

性能测试笔记

9、JMeter插件安装-非GUI界面

插件安装

下载地址:https://jmeter-plugins.org/install/Install/
安装方法:安装jpgc相关的插件,jpgc-Standard Set和KPI vs KPI Graphs

  • 把jmeter-plugins-manager-1.7.jar放入/lib/ext里面,然后重启Jmeter。
  • 加载插件 Option->Plugin Managger

监听器

监听器-察看结果树

察看结果树以树状结构组织显示所有取样器的响应。显示取样器请求和响应的细节以及请求结果,包括消息头,请求的数据,响应的数据。
 注意: 因为生成查看结果树需要消耗大量的系统资源(CPU,内存等),负载测试期间不得使用查看结果树

监听器-聚合报告

聚合报告为测试中的每个不同名称的请求创建一个表记录。对于每个请求,它统计了响应信息并提供请求计数、最小值、最大值、平均值、错误率、近似吞吐量(请求/秒)和每秒千字节吞吐量。在聚合报告中,各个响应时间不能超过客户的要求,就是合格,例如不能超过响应时间2s,大于2s就是不合格的

名称

聚合报告定义名称

注释

非必填项

文件名

运行结果存放路径

Log/Display Only

如果勾选”仅日志错误”列表中间只显示有错误的记录,勾选”Successes,列表中只显示成功的。默认是两个都不勾选 

Configure

自定义report 关心数据项

Label

采样器名称

Samples

表示测试中一共发出了多少个请求,如果线程数为:50,每个线程数循环5次,Samples 显示为:50*5=250

Average

每个请求平均响应时间(单位为:ms)

Median 

中位值(50% 用户响应时间),样本值按照从小到大排列,位置为不小于(样本个数)/2最小整数值。例如样本是5,33 35 37 38 40,中位数是37

90% Line

90% 用户响应时间,样本升序排列,第90%位置的样本值round(n*90%)

95% Line 

95% 用户响应时间,样本升序排列,第95%位置的样本值round(n*95%)

99% Line 

99% 用户响应时间,样本升序排列,第99%位置的样本值round(n*99%)

Min 

最小响应时间

Max 

最大响应时间

Error%

错误率(请求的数量/请求的总数)

Throughput

吞吐量,每秒完成的请求数。=请求数/总时间

接收 KB/sec

每秒从服务器端接收到的数据量,相当于千字节Throughput/Sec

发送 KB/sec

每秒从客户端接发送的数据量,相当于千字节Throughput/Sec


非GUI界面启动

非GUI界面,压测参数

  • -h 帮助        
  • -n 非GUI模式            
  • -t 指定要运行的 JMeter 测试脚本文件            
  • -l 记录结果的文件 每次运行之前,(要确保之前没有运行过,即xxx.jtl不存在,不然报错)            
  • -r Jmter.properties文件中指定的所有远程服务器            
  • -e 在脚本运行结束后生成html报告            
  • -o 用于存放html报告的目录(目录要为空,不然报错)

官方配置文件地址
http://jmeter.apache.org/usermanual/get-started.html        
jmeter -n -t D:\jmeter_2024\discuz.jmx -l  D:\jmeter_2024\discuz.jtl -e -o D:\jmeter_2024\report

性能优化-注意事项

Apache JMeter - User's Manual: Best Practices

  • 使用非GUI模式:jmeter -n -t test.jmx -l result.jtl
  • 少使用Listener, 如果使用-l参数,可以被删除或禁用。
  • 在加载测试期间不要使用“察看结果树”或“用表格察看结果”表监听器,只能在脚本阶段使用它们来调试脚本。    
  • 不要使用大量的相似samplers,而是循环使用一个sampler,使用参数化来达到不同sample的效果
  • 不要使用函数模式
  • 使用CSV输出而不是XML    
  • 只保存你需要的数据,尽可能少地使用断言    
  • 尽量使用脚本语言
  • 如果测试需要大量数据,可以提前准备好测试数据放到数据文件中,以CSV Read方式读取。    
  • 用内网压测,减少其他带宽影响压测结果    
  • 如果压测大流量,尽量用多几个节点以非GUI模式向服务器施压

测试报告解析

Jmeter压测生成图形化HTML测试报告解析

  • APDEX(Application performance Index)                
  • Apdex:应用程序性能指标,范围在0~1之间,1表示达到所有用户均满意
  • T(Toleration threshold):可接受(容忍或满意)阈值,即用户可接受的响应时间            
  • F(Frustration threshold):不可接受(失败)阈值,即用户不可接受响应时间

1)Over Time(随着时间的变化)                

  • Response Times Over Time:响应时间变化趋势        
  • Response Time Percentiles Over Time (successful responses):最大,最小,平均,用户响应时间分布        
  • Active Threads Over Time:并发用户数趋势    
  • Bytes Throughput Over Time:每秒接收和请求字节数变化,蓝色表示发送,黄色表示接受                
  • Latencies Over Time:平均响应延时趋势            
  • Connect Time Over Time    :连接耗时趋势

2)Throughput                

  • Hits Per Second (excluding embedded resources):每秒点击次数
  • Codes Per Second (excluding embedded resources):每秒状态码数量        
  • Transactions Per Second:即TPS,每秒事务数    Response Time Vs Request:响应时间和请求数对比    
  • Latency Vs Request:延迟时间和请求数对比

3)Response Times                

  •     Response Time Percentiles:响应时间百分比        
  •     Response Time Overview:响应时间概述                
  •     Time Vs Threads:活跃线程数和响应时间            
  •     Response Time Distribution:响应时间分布图

http://www.mrgr.cn/news/95829.html

相关文章:

  • Rust从入门到精通之精通篇:26.性能优化技术
  • VUE3项目VITE打包优化
  • UART转APB模块ModelSim仿真
  • deepseek实战教程-第六篇查找源码之仓库地址与deepseek-R1、deepseek-LLM仓库内容查看
  • 详解接口的常见请求方式
  • Nginx反向代理及负载均衡
  • 11_JavaScript_字符串方法+数学方法
  • 【简单学习】Prompt Engineering 提示词工程
  • 【C语言】动态内存管理
  • 鸿蒙学习笔记(2)-国际化配置、ArkTS简述
  • 快速搭建yolo测试环境,超简明的神经网络训练说明书
  • 【leetcode hot 100 35】搜索插入位置
  • 后端——AOP异步日志
  • Bitcoin Thunderbolt 内测通道开启,加速比特币交易新时代
  • [AI建模] 使用Pinokio本地化部署混元2D到3D AI建模服务
  • 19.哈希表的实现
  • 代码随想录算法训练营第五十六天 | 108.冗余连接 109.冗余连接II
  • 各类神经网络学习:(四)RNN 循环神经网络(下集),pytorch 版的 RNN 代码编写
  • 重庆邮电大学笔试F021 考纲解析
  • QT编程之PCM音频播放与采集