觉得有用的朋友,点个赞, 谢谢

1.下载地址:Apache JMeter - Download Apache JMeter

2.前提条件已安装jdk1.8,并配置好环境变量

3.解压安装包,创建快捷方式,发送到桌面,双击 jmeter.bat

 4.切换为中文 ,如果想更换界面颜色可以进行如下操作,就变成了白色 

5.创建测试计划

A.右键点击TestPlan->添加->线程(用户)->线程组,完成后选择Thread Group,

B.在这个线程组上点击右键,添加->取样器->HTTP请求;

C.再选择HTTP请求,在这个HTTP请求上点击右键,添加->监听器->察看结果树;

D.再次选择HTTP请求,在这个HTTP请求上点击右键,添加->监听器->聚合报告。

6.选择左侧的Thread Group,一个线程相当于一个用户请求。

比如线程数填10,Ramp-up时间填5,循环次数填1,就表示在5秒内发送10次请求,执行一次

7.下面开始实测,我在本地谢了一个注册接口  http://127.0.0.1:9999/signin

网页正常访问哈, 我们使用jmeter工具 测一下

选择其中的请求,可以在右边请求的详细信息,包括时间,请求数据长度,请求地址等

  • 样本:请求的次数,计算公式是线程数*循环次数,如果线程组配置勾选了永远,那么就是你停止测试时实际发送的请求数
  • 平均值:响应时间的平均用时,单位是毫秒。比如这里的平均响应时间是38毫秒
  • 中位数:响应时间的中位数,单位是毫秒。
  • 90%百分位:90%的响应时间小于该数值,单位是毫秒。这里有90%的响应时间小于22毫秒
  • 95%百分位:含义和90%类似
  • 99%百分位:含义和90%类似
  • 最小值:本轮测试最小响应时间,单位是毫秒。
  • 最大值:本轮测试最大响应时间,单位是毫秒。
  • 异常%:本轮测试出现异常的请求比例。
  • 吞吐量:可以理解为QPS,即是我们测试的接口处理请求的能力。比如这里是平均每秒可以处理2.2次请求
  • 接收KB/Sec:响应数据的接收速率
  • 发送KB/Sec:请求数据的发送速率

8.用户定义的变量的使用

在上面例子中在我们在填写HTTP配置的时候,IP直接写了IP地址,但是有一个问题,假如我们的接口在不同的机器上部署了节点,我们在对不同机器上的接口进行测试,总不能每测完一个就改一个吧,假如要测试一个服务上的30个接口,不是改到手酸了?JMeter给我们提供了变量,我们可以在HTTP请求中使用变量。

我们右键点击Thread Group,添加->配置元件->用户定义的变量,也可以在测试计划或者HTTP请求下创建,这样作用域就是整个测试计划或者HTTP请求。然后选择用户定义的变量,并在右边点击添加按钮,添加host和port两个变量:

在JMeter中使用变量是通过${}来引用的,

比如要引用host变量,就是​${host},然后我们选择HTTP请求,

把IP地址和端口改为引用变量的形式

重新点击启动按钮测试,打开察看结果树可以看到请求还是发送到变量中定义的地址。

假如接口IP  改变了,我们也可以只修改用户定义的变量中的变量值就可以了。

9.JMeter的命令行使用

因为JMeter是用纯Java写的,是运行在JVM上的,所以它的运行会受到JVM参数的控制,默认的堆大小是1G(初始值Xms和最大值Xmx都是1G),最大的Metaspace为256M(JDK8没有永久代的概念了,用Metaspace代替)。在bin/jmeter.bat中有一行(第150行)是用来设置JVM参数的:

set HEAP=-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m

jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]

这里我们关注一个参数是-t,后面接jmx文件,这个文件就是上面保存的jmx文件,它保存了JMeter压测时需要的线程组、HTTP请求等配置参数。打开可以看到其实是一个xml格式的文件,里面有各种各样的参数,如果没有GUI界面,让用户去手写这么一个配置文件,那就很麻烦了。

说了这么多我们正式介绍一下jmeter命令的参数,jmeter的完整参数可以通过jmeter -?查看,这里只介绍几个常用的参数:

-n:非GUI模式,其实就是命令行的模式

-t:后跟测试文件(jmx文件)

-l:后跟log文件,把测试的过程输出到日志文件中

-e:测试结束后生成报告

-o:测试报告存放目录,必须是空目录

我的测试文件报错路径,D:\work\apache-jmeter-5.4.1\bin\jmt_test_demo

实际执行命令如下 :

jmeter.bat -n -t "jmt_test_demo/testplan1.jmx" -l "jmt_test_demo/testplan1.log" -e -o D:\work\jmeter_results

结果 :

 10.分布式测试

上面所介绍的是在一台机器上的操作,那么就会有这么一个问题:

当你设置线程数为10时,在一台4核心cpu的机器上执行,这台机器模拟出10个线程当然没问题,但是假如你把线程数提升到10000,表面上这台机器也在努力地给你模拟10000个线程,但是它的核心数也只有区区4个,在底层其实还是操作系统在不断切换线程来模拟这10000个线程,线程切换需要时间,发送请求也需要时间,这样做的话除了让测试机的cpu使用率飙升到100%之外,还可以让你得到一份不准确甚至错误的数据,因为你的机器其实是没办法在5秒来把这10000个请求发送完毕的。这个时候我们就需要用多台机器去同时给接口机发送请求,这就是分布式测试

大致的原理,我们准备多台机器,其中一台作为master机器,其余的作为slave机器,master机器用来发送指令,slave机器去执行

  1. 关闭防火墙或者打开响应的端口

  2. 在同一个子网

  3. JMeter可以访问测试的接口

  4. JMeter的版本一致,JDK的版本也一致,否则可能出错

  5. 必须为RMI设置SSL或者关闭它

满足了以上的条件,先执行各个slave里bin目录下的jmeter-server,然后开发master机器上的JMeter的bin/jmeter.properties文件,找到remote_hosts=127.0.0.1那行,并且改为slave内网地址,地址之间用英文逗号分隔,然后打开master机器上的JMeter,像单机那样测试就可以了。

参考:JMeter使用教程 - 我是满意吖 - 博客园

参考:Apache JMeter 5.3下载安装教程_你玩个der的博客-CSDN博客

官网查阅使用手册:Apache JMeter - User's Manual: Getting StartedApache JMeter 5.3下载安装教程_你玩个der的博客-CSDN博客

JMeter 5.4下载、安装、使用教程相关推荐

  1. MATLAB R2014a 中文版下载安装图文教程

    转载自:MATLAB R2014a 中文版下载安装图文教程_百度经验 http://jingyan.baidu.com/article/c275f6ba218d43e33d7567fd.html MA ...

  2. MySQL 5.7.21详细下载安装配置教程

    MySQL 5.7.21详细下载安装配置教程 前言 在安装MySQL的时候会遇到很多问题,博客上有很多解决问题的办法,在这里我附上一些链接,遇到问题的朋友们可以阅读参考哈~本文主要针对于刚接触数据库的 ...

  3. mysql 5.5.29 winx64_【转载】MySQL 5.7.29详细下载安装配置教程winx64

    版权声明:本文为CSDN博主「liu_dong_mei_mei」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.n ...

  4. 新版mysql的下载教程_Mysql最新版8.0.21下载安装配置教程详解

    一.下载 1.下载安装包 mysql下载路径:https://dev.mysql.com/downloads/file/?id=496745 2.解压压缩包 解压到安装的目录: 3.在此目录下新建my ...

  5. navicat premium 15 下载安装详细教程

    navicat premium 15 下载安装详细教程 一.准备安装文件 首先我们要准备好 navicat premium 15 官网:http://www.navicat.com.cn 下载地址:N ...

  6. YDOOK:putty: 最新版 putty 下载安装完整教程,windows怎么下载安装 putty?

    YDOOK:putty: 最新版 putty 下载安装完整教程,windows怎么下载安装 putty? 1. 搜索或者直接点击进入 putty 的官网: putty 的官网 2. 第二行即显示最新版 ...

  7. Mac 截图工具 iShot Pro - 软件介绍、下载安装详细教程

    Mac 截图工具 iShot Pro -软件介绍.下载安装详细教程 iShot -优秀,功能齐全的区域截图,窗口截图,多窗口截图,长屏幕截图,shell截图,时间间隔截图,快速注释,纹理,颜色匹配,屏 ...

  8. Windows系统中 Xmanager 6 企业版下载安装激活教程

    Windows系统中 Xmanager 6 企业版下载安装激活教程 1. Xmanager 6 下载网址:https://yunpan.360.cn/surl_yrJrWq3GmjN 2. 双击 Xm ...

  9. 谷歌地球(google earth)下载安装使用教程

    谷歌地球(google earth)下载安装使用教程 1.获取谷歌地球PC端免费版(中文版),纯净安装包资源,在文章最后,免解压,管理员打开GoogleEarthProSetup.exe 2.等待下载 ...

  10. Python学习工具第五期 — 免费使用,无须激活下载安装Pycharm教程

    Python学习工具第四期 - 免费使用,无须激活下载安装Pycharm教程 上一期我们详细介绍了Anaconda的下载.安装以及如何管理环境和软件包管理常用命令和操作,这期我们来介绍一下学生如何通过 ...

最新文章

  1. 瞎说系列之Object.assign入门
  2. SRAM(静态随机存储器)
  3. 时下流行的9种恶意软件,你都了解吗?
  4. vue遍历data所有变量并赋值
  5. 网络操作系统第1章习题
  6. centos7使用中文输入法
  7. php服务层设计与实现的,PHP中service层怎么设计兼顾优雅和方便?
  8. 电工基础知识电线电缆常识80问答
  9. uni-app 小程序开发 (一)
  10. 小米系列手机 开发者版本 之 USB安装出现当前设备已被临时限制
  11. 丽台显卡测试软件,领先A卡62% 丽台7系显卡对比测试
  12. 在网站中添加QQ、旺旺的方法
  13. 手机扫描计数器有哪些?实用扫描计数软件分享给你
  14. lcoal Storage 介绍
  15. 找优秀项目很好的网站推荐
  16. Python基础----Socket编程规范及底层原理(三)---socketserver实现并发及底层原理
  17. Cooperative Perception in an Automotive Context 综述
  18. 你可以厌恶世俗的眼光,但是你不能逃避
  19. [BZOJ1529]核电站问题
  20. python桌面程序臃肿_摆脱臃肿蜗牛印象!微软 Visual Studio 15 安装体验大变革

热门文章

  1. 小米手机的“智能制造时代”
  2. 【多目标进化优化】多目标进化算法的收敛性
  3. JS实用技巧之断点调试详解
  4. git创建/删除本地branch(分支),tag(标签)
  5. MySQL索引系列--索引的优化--LIKE模糊查询
  6. 单内存16g和双8g差别大吗_电脑内存买单条16G还是8Gx2?一文告诉你
  7. 使用python爬取蛋壳租房信息
  8. 程序员单身真的是有理由的吗?
  9. 群发邮件怎么发?outlook发邮件如何撤回?
  10. 计算机的英语对话,电脑与网络的英语口语对话