JMeter使用指南+实验报告
JMeter使用指南
编辑时间:2024/3/30 12:46
界面基本配置方法
每次重启软件时都需要重新设置
1.选项里的放大与缩小——缩放字体

2.选项里的选择语言

3.命令行的调出
我记得英文版可以通过按一个像小扳手的按钮调出,通过它可以比较迅速地发现是“time out”这种超时问题,还是已经正确运行了。

注意事项
1.文件新建时同时要注意结构~
这边我有踩雷~我是设置线程组必须为TCP取样器的上一级,下面的三个报告为TCP取样器的下一级,才可以输出结果文件,如果把他们设置为同级,就无法生成有有效内容的结果文件。
2.EOL的设置
超时会报500错误,如果你没有设置End of line的话,会在读取流的时候无限阻塞,直到超时,报500错误!
解决方法:设置End of line(后面直接称eol),eol是文本结束符,是说的返回的响应数据最后一位。
Jmeter报错org.apache.jmeter.protocol.tcp.sampler.ReadException - ycyzharry - 博客园 (cnblogs.com)
3.汇总报告/聚合报告里的指标时累积的
当前面的结果异常时,要每次点“扫帚”按钮清除,避免前面的异常取样结果算到整体百分比里。
4.当输出中含有中文时,记住修改文件编码形式
原来的编码形式为GBK,导致我前面的中文输出结果总是无法正常显示,后面我修改了在bin目录里的jmeter.properties配置文件,把编码设置为UTF-8(tcp.charset=UTF-8),把那行注释取消掉,重启软件,实现了中文输出的正确显示。
5.想要打开JMerter方法
双击运行bin里的JMERT.bat文件,界面会自动打开。
一些指标介绍
1.TCP取样器
| 属性 | 描述 | 必要? | 
|---|---|---|
| Name | 展示在右侧树形列表的名称 | 默认就有 | 
| TCPClient classname | 表示处理请求的实现类,默认是TCPClientImpl ,对应属性设置名为tcp.handler | 不是 | 
| ServerName or IP Port Number | 服务器 主机名,ip地址 端口号 | 是 | 
| Re-use connection | 如果选中,这个链接处于保持打开状态,不选中就是读取数据后就关闭 注意这个不是必须要打开,我在设置它时踩雷了 | 是 | 
| Close connection | 如果选中,这个链接将会在运行中取样器之后被关闭 | 是 | 
| SO_LINGER | enable/disable(启用/禁用)SO_LINGER设置特定的值,单位为秒,它线性创建套接字,如果你是设置的值为0,你可以避免大量套接字处于TIME_WAIT (等待状态) | 不是 | 
| End of line (EOL) by value | 表示一行结束符,如果设置值在-128到127之外将会跳过eol 检查,你可以在jmeter.properties文件中增加属性eolByte进行设置,如果你在TCP Sampler Config(TCP 取样器配置)中也设置这个属性,那么TCP Sampler Config 中设置的将会奏效 这个比较重要,必须设置 | 不是 | 
| Connect TimeOUt | 连接超时(单位毫秒,0 表示禁用超时) | 不是 | 
| Response Timeout | 连接超时(单位毫秒,0 表示禁用超时) | 不是 | 
| Set NoDelay | 可以参考java.net.Socket.setTcpNoDelay(),如果选中,它将会禁用Nagle's算法(利用缓存功能),反之不禁用 这个可以打开,我打开它后跑通了 | 是 | 
| Text to Send | 发送文本信息 | 是 | 
| Login User | 用户名-它不会使用默认实现 | 不是 | 
| Password | 密码-它不会使用默认实现,(N.B.【note well 注意】它在测试计划中采用非加密存储 ) | 不是 | 
2.汇总/聚合报告
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:每秒从服务器端接收到的数据量。
本次实验配置
1.线程组配置

2.TCP取样器设置


实验结果展示
1.结果树




2.汇总报告

3.聚合报告

我的500个测试样本的平均响应时间为0ms,TPS值为503.5/sec(即每秒处理503个请求)。
我的电脑配置
我是win64,细致配置如下:

附录:JMeter压力并发测试教程
Jmeter压力并发测试完整,保姆级教程_jmeter并发测试-CSDN博客
JMeter压力测试/并发测试/性能测试入门教程 - 知乎 (zhihu.com)
补充:
WRK:有的人Linux环境并行使用的WRK,也取得了成功。
JMeter使用指南+实验报告的更多相关文章
- 20155212 实验四 《Android程序设计》 实验报告
		20155212 实验四 <Android程序设计> 实验报告 (一)Android Stuidio的安装测试 参考<Java和Android开发学习指南(第二版)(EPUBIT,J ... 
- 20162330 实验四 《Android程序设计》 实验报告
		2016-2017-2 实验报告目录: 1 2 3 4 5 20162330 实验四 <Android程序设计> 实验报告 课程名称:<程序设计与数据结构> 学生班级:1623 ... 
- 实验四  Android程序设计  实验报告
		实验四 Android程序设计 实验报告 目录 代码托管地址 Android程序设计-1 Android程序设计-2 Android程序设计-3 Android程序设计-4 Android程序设计-5 ... 
- 20165232第4次实验《Android程序设计》实验报告
		20165232第4次实验<Android程序设计>实验报告 一.实验报告封面 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:何彦达 学号:20165232 指导教师: ... 
- 2017-2018-2 20165237 实验四《Android开发基础》实验报告
		2017-2018-2 20165237 实验四<Android开发基础>实验报告 实验报告表头: No.1 实验要求: Android程序设计-1 实验要求: 参考<Java和An ... 
- 2017-2018-2 20165234 实验四《Android程序设计》实验报告
		一.实验报告封面 课程:Java程序设计 班级:1652 姓名:刘津甫 学号:20165234 指导教师:娄嘉鹏 实验日期:2018年5月14日 实验时间:13:45 - 3:25 ... 
- 20165206第4次实验《Android程序设计》实验报告
		20165206第4次实验<Android程序设计>实验报告 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:韩啸 学号:20165206 指导教师:娄嘉鹏 实验日期:2 ... 
- java实验四《Android程序设计》实验报告
		一.实验报告封面 课程:Java程序设计 班级:1653班 姓名:张士洋 学号:20165308 指导教师:娄嘉鹏 实验日期:2018年5月14日 实验时间:13:45 - 15:25 实验序号:08 ... 
- 2017-2018-2 20165312 实验四《Android程序设计》实验报告
		2017-2018-2 20165312 实验四<Android程序设计>实验报告 一.安装Android Studio并进行Hello world测试和调试程序 安装Android St ... 
- 20165304第4次实验《Android程序设计》实验报告
		一.实验报告封面 课程:Java程序设计 班级:1653班 姓名:李松杨 学号:20165304 指导教师:娄嘉鹏 实验日期:2018年5月14日 实验时间:15:35 - 17:15 实验序号:实验 ... 
随机推荐
- kubernetes中pod的隔离策略
			配置容器级别的安全控制 使用宿主机的网络模式 可以通过设置pod的spec的hostNetwork参数为true开启容器的"host"network模式 spec: hostNet ... 
- EBS GL 当前职责有访问权限的所有账套
			CREATE OR REPLACE VIEW CUX_GL_ACCESS_LEDGER_V AS SELECT L.LEDGER_ID,L.NAME,L.LEDGER_CATEGORY_CODE FR ... 
- 快速部署和测试ingress-nginx:1.9.6
			点击查看代码 下载deploy文件 https://github.com/kubernetes/ingress-nginx/blob/controller-v1.9.6/deploy/static/p ... 
- Cloth Simulation with Root Finding and Optimization
			目录 0 前言 1 Implicit Method 1.1 Root-finding 1.2 Optimization 1.3 Insight 2 Newton-Raphson Method 3 Ma ... 
- MySQL修改用户权限
			最近测试中台的存储服务,涉及到MySQL用户操作的命令,记录一下. 1.查看所有用户 select user from mysql.user; 2.查看当前登陆用户 select user(); 3. ... 
- github/gitee个人博客到底是什么一个运行原理?
			本文主要讲的是GitHub.Gitee这样的代码存储网站上提供的个人博客建站的原理分析,需要注意的是,本文并不介绍GitHub.Gitee上建立个人blog的操作步骤,本文只介绍原理,不介绍实操步骤. ... 
- 70 个群都来问我的 AI 日报,是这么做的。
			最近我给 FastGPT 用户交流群里接入了 AI 日报,每天早上 10 点会自动向群里推送 AI 日报,让群里的小伙伴们第一时间了解到昨天 AI 领域都发生了哪些大事. 效果大概是这个样子的: 如果 ... 
- 四、FreeRTOS学习笔记-任务创建和删除
			FreeRTOS的任务创建和删除 1,任务创建和删除的API函数(熟悉) 任务的创建和删除本质就是调用FreeRTOS的API函数 一.任务创建 动态创建任务:任务的任务控制块以及任务的栈空间所需的内 ... 
- Django admin 结合富文本编辑器tinymce
			后台需要加入富文本编辑器于是选择tinymce 官方网站:http://django-tinymce.readthedocs.org/ django-tinymce · PyPI GitHub:Git ... 
- 怎么禁用 vscode 中点击 go 包名时自动打开浏览器跳转到 pkg.go.dev
			本文引用怎么禁用 vscode 中点击 go 包名时自动打开浏览器跳转到 pkg.go.dev 在 vscode 设置项中配置 gopls 的 ui.navigation.importShortcut ... 
