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是文本结束符,是说的返回的响应数据最后一位。

附赠: 在线进制转换 (oschina.net)

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使用指南+实验报告的更多相关文章

  1. 20155212 实验四 《Android程序设计》 实验报告

    20155212 实验四 <Android程序设计> 实验报告 (一)Android Stuidio的安装测试 参考<Java和Android开发学习指南(第二版)(EPUBIT,J ...

  2. 20162330 实验四 《Android程序设计》 实验报告

    2016-2017-2 实验报告目录: 1 2 3 4 5 20162330 实验四 <Android程序设计> 实验报告 课程名称:<程序设计与数据结构> 学生班级:1623 ...

  3. 实验四 Android程序设计 实验报告

    实验四 Android程序设计 实验报告 目录 代码托管地址 Android程序设计-1 Android程序设计-2 Android程序设计-3 Android程序设计-4 Android程序设计-5 ...

  4. 20165232第4次实验《Android程序设计》实验报告

    20165232第4次实验<Android程序设计>实验报告 一.实验报告封面 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:何彦达 学号:20165232 指导教师: ...

  5. 2017-2018-2 20165237 实验四《Android开发基础》实验报告

    2017-2018-2 20165237 实验四<Android开发基础>实验报告 实验报告表头: No.1 实验要求: Android程序设计-1 实验要求: 参考<Java和An ...

  6. 2017-2018-2 20165234 实验四《Android程序设计》实验报告

    一.实验报告封面 课程:Java程序设计   班级:1652   姓名:刘津甫   学号:20165234 指导教师:娄嘉鹏    实验日期:2018年5月14日 实验时间:13:45 - 3:25 ...

  7. 20165206第4次实验《Android程序设计》实验报告

    20165206第4次实验<Android程序设计>实验报告 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:韩啸 学号:20165206 指导教师:娄嘉鹏 实验日期:2 ...

  8. java实验四《Android程序设计》实验报告

    一.实验报告封面 课程:Java程序设计 班级:1653班 姓名:张士洋 学号:20165308 指导教师:娄嘉鹏 实验日期:2018年5月14日 实验时间:13:45 - 15:25 实验序号:08 ...

  9. 2017-2018-2 20165312 实验四《Android程序设计》实验报告

    2017-2018-2 20165312 实验四<Android程序设计>实验报告 一.安装Android Studio并进行Hello world测试和调试程序 安装Android St ...

  10. 20165304第4次实验《Android程序设计》实验报告

    一.实验报告封面 课程:Java程序设计 班级:1653班 姓名:李松杨 学号:20165304 指导教师:娄嘉鹏 实验日期:2018年5月14日 实验时间:15:35 - 17:15 实验序号:实验 ...

随机推荐

  1. day02-json字符串和js对象

    Web1.0时代 早期网站的登录,如果失败,需要刷新页面才能重新登录; 如果不点击提交按钮,就不知道自己密码输错了: 现在大多数的网站,都是局部刷新,在不刷新整个页面的情况下,实现页面更新: 注册的时 ...

  2. 关于sizeof、strlen的理解与辨析以及strlen的模拟实现

    关于sizeof.strlen的理解与辨析以及strlen的模拟实现 1. sizeof() sizeof的作用: 计算变量所占内存内存空间大小,单位是字节. 注意事项: ① 首先要明确的一点是:si ...

  3. 挑战Java面试题复习第1天,坚持就是胜利

    面向对象和面向过程的区别面向过程: 步骤分析:将问题分解为一系列步骤.函数实现:用函数逐步实现这些步骤.调用执行:在需要时调用这些函数.高性能:适合对性能要求高的场合,如单片机和嵌入式开发.面向对象: ...

  4. Proteus中单片机IO口外接LED输出低电平时,引脚却一直保持高电平的问题(已解决)

    前言 一个排阻接八个 LED,方便又省事,但出现了P1端口输出低电平后,仿真引脚却一直显示红色保持高电平不变,用电压表测量显示 2V 左右. 这是仿真的问题,在用开发板时是不会遇到的,为了仿真的显示效 ...

  5. VMware使用Ubuntu20.04时发生屏幕闪烁

    问题:VMware使用Ubuntu20.04时发生屏幕闪烁 分析:这是由于虚拟机里面的显示器不支持3D加速问题导致的 解决方法:关闭虚拟机 → 左上角菜单 → 虚拟机 → 设置 → 显示器 → 取消勾 ...

  6. 代码差异对比之git diff详解!

    1.测试对比文件准备 文件A:diff1(diff1文件夹下可以放n个文件) public class Diff1 { public static void main(String[] args){ ...

  7. 在 ASP.NET Core 中创建 gRPC 客户端和服务器

    前言 gRPC 是一种高性能.开源的远程过程调用(RPC)框架,它基于 Protocol Buffers(protobuf)定义服务,并使用 HTTP/2 协议进行通信. 新建项目 新建解决方案Grp ...

  8. Linux中更新系统时间、同步系统时间和硬件时间

    更新系统的时间 ​ 1.手动修改 ​ date -s # 不建议 ​ 2.时间同步服务器 ​ ntpdate # 需要安装命令 yum -y install ntpdate ​ [root@oldbo ...

  9. Lock Less Java Object Pool

    It has been a while since I wrote anything, I have been busy with my new job that involves doing som ...

  10. Redis迁移工具之Redis-shake

    Redis-shake is a tool for synchronizing data between two redis databases. Redis-shake是一个用于在两个redis之间 ...