jmeter全集

  • 下载jmeter包
  • 修改jmeter默认配置
  • 创建测试计划
    • 添加一个线程组
    • 添加一个http请求
    • 添加查看结果树
    • 添加HTTP信息管理器
    • 添加JSON提取器
    • 添加CSV数据文件设置
    • 添加常数吞吐量定时器
  • Jmeter压测命令讲解
  • 使用注意事项
    • 多个接口如何确保顺序执行

目前的主要目的是记录压测流程,会不断更新,欢迎互相学习

下载jmeter包

windows包和linux包都需要下
官网下载地址
这里解释一下为什么两种系统的包都要下
windows包下载是为了使用GUI创建测试计划以及调试测试计划
linux包下载是为了跑压测

修改jmeter默认配置

windows环境下
jmeter程序窗口默认是英文的并且字体图标都太小了

找到apache-jmeter-5.5\bin\jmeter.properties
找到language=en修改为language=zh_CN
添加

jmeter.hidpi.mode=true
jmeter.hidpi.scale.factor=1.6jmeter.toolbar.icons.size=48x48
jmeter.tree.icons.size=32x32jsyntaxtextarea.font.size=17

最好是用前面键搜索到对应位置把添加的配置放到原配置的旁边

找到apache-jmeter-5.5\bin\jmeter.bat
在@echo off下一行添加

set JVM_ARGS=%JVM_ARGS% -Dswing.plaf.metal.controlFont=Dialog-20
set JVM_ARGS=%JVM_ARGS% -Dswing.plaf.metal.systemFont=Dialog-20
set JVM_ARGS=%JVM_ARGS% -Dswing.plaf.metal.userFont=SansSerif-20
set JVM_ARGS=%JVM_ARGS% -Dswing.plaf.metal.smallFont=SansSerif-20

这里各种图标字体对应大小可以自己尝试自己修改我的屏幕不一定适合你
apache-jmeter-5.5\bin\jmeter.bat


打开以后发现字体大小没有变化,不要着急在工具栏找到选项->外观->Metal

然后你发现界面好大,也有可能显示的界面乱掉了,不要慌,点击Yes

然后就正常了,配置工作到此结束

创建测试计划

添加一个线程组

添加一个http请求


添写完这些信息就可以访问了

添加查看结果树

此时发现没有地方看请求的结果,那就添加查看结果树

再点击运行就是这样子的

添加HTTP信息管理器

如果你需要给多个请求加一样的请求头,就在多个请求的同级添加 HTTP信息管理器

然后里面添加你想要的请求头

如果你想给单独的请求增加单独的请求头就在某个请求下单独添加、

添加JSON提取器

假如说你的第二个请求中需要第一个请求的返回结果中的数据
那就在需要提取的请求中添加JSON提取器

对如下三个值进行修改提取你想要的数据,如果你需要提取的是多个值,就用逗号间隔(JSON提取器只是提取方式之一,后置处理器中有很多提取器,可以择情使用)

然后在你需要的地方使用${variable}使用变量名记得修改
如果你的变量在其他请求的参数中,并且请求参数是JSON,类型是字符串"${variable}"这样包裹也是没有问题的

添加CSV数据文件设置


这个设置的意思是说可以把csv中的格式化数据当做请求的参数
准备这么一个csv

然后点击CSV文件设置进行如下设置

如果有多个变量逗号间隔
使用方式和JSON提取器一样${username}

添加常数吞吐量定时器


这里简单说明一下什么场景下需要类似的吞吐量相关定时器控制器

举例:老板给你的任务,让你测某几个接口每秒两百并发的情况下,5分钟内业务服务器的CPU平均占用情况

那么需要将线程组设置中 线程数:200 Ramp-up:5 调度器打开 持续时间设置为300秒

讲道理,我们想要每秒200并发,那么最后业务接口应该接到的请求个数就是200*300=60000个
可是当你跑完压测后看结果汇总会发现,你的接口接到的请求数远远大于60000个

那出现以上这种情况是为什么呢?
原因是我们说的200个线程并发,可是没说它1秒只发一次,这200个线程并发,是说在linux服务器能力范围内,一秒内的某个极值时刻并发200个请求,也就是说1秒内可能这200个线程发了5次 那最终就会有30 0000次请求

最终显示的吞吐量也不是200,如果接口简单服务器性能强大,你可能会看到好几千甚至上万的吐吞量,如果接口复杂,机器性能较为低下,明明200个线程一直发,可是吞吐量连200都不够,是因为吞吐量的计算公式中包含了响应时间

可是通过这个常数吞吐量定时器,就可以看到吐吞量真的是200左右

添加后要对常数吞吐量定时器进行设置


设置的项有两个,一个是分钟内,要求的目标吞吐量
一个是当前常数吞吐量定时器作用范围

但是这可能并不是唯一的一个方案,接下来我还会讲解其他定时器

Jmeter压测命令讲解

首先先来到jmeter的bin目录下
cd ./apache-jmeter-5.5/bin
然后执行 ./jmeter --help

我们正常就用这种就ok

使用注意事项

多个接口如何确保顺序执行

添加一个临界部分控制器
并且锁名称推荐使用global_lock_${__threadNum}
将想要顺序执行的接口按照顺序放在这个控制器下

除了分享以上内容之外
给大家分享一下我的飞书文档,是和java相关技术栈有关的,欢迎大家观看点赞收藏转发
https://jmnl1jzkxb.feishu.cn/docx/JiWCdgyd5o0NF8x9DfzcllVWnBg

apache-jmeter-5.5使用教程相关推荐

  1. Apache JMeter教程

    要负载测试您的Web应用程序吗? 然后,您应该了解Apache JMeter ! 该JMeter教程介绍了基本概念以及如何创建测试计划以及如何执行它以对应用程序进行基准测试. 这是我在Disy的Tec ...

  2. Apache JMeter 下载安装以及使用的详细图文教程

    Apache JMeter 下载安装以及使用的详细图文教程 文章目录 Apache JMeter 下载安装以及使用的详细图文教程 一.Apache JMeter简介 二.Apache JMeter下载 ...

  3. Apache Jmeter 教程

    Jmeter是一款优秀的开源测试工具, 是每个资深测试工程师,必须掌握的测试工具,熟练使用Jmeter能大大提高工作效率. 熟练使用Jmeter后, 能用Jmeter搞定的事情,你就不会使用LoadR ...

  4. Apache Jmeter 安装教程(实测有效)

    主要步骤有两步: 1.安装Jave; 2.下载Apache Jmeter并配置变量: 步骤详解: 1.安装Java 首先下载安装Java,地址为:http://www.oracle.com/techn ...

  5. 书评:实战Apache JMeter

    要点 \ JMeter是Apache的一款开源的负载测试工具 \ 通过实例学习JMeter的指南并不多 \ 可以从Leanpub下载这本书的电子版,也可以从Amazon购买纸质版\ InfoQ对这本书 ...

  6. Apache JMeter:随心所欲进行负载测试

    这是有关使用Apache JMeter进行负载测试的第二篇文章,请在此处阅读第一篇文章: 有关对关系数据库进行负载测试的分步教程. JMeter有很多采样器 . 如果您需要JMeter不提供的采样器, ...

  7. Jmeter安装及配置教程

    Jmeter安装及配置教程 一.JMeter的安装配置过程 二.JMeter的运行和语言设置 一.JMeter的安装配置过程 安装配置过程: 第一步 安装JDK,配置JDK路径 到Oracle官方网站 ...

  8. Apache JMeter rmi 反序列化 cve-2018-1297

    漏洞描述 Severity: Important Vendor: The Apache Software Foundation Versions Affected: JMeter 2.X, 3.X D ...

  9. JMeter压力测试入门教程[图文]

    Apache JMeter是 Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域. 它可以用于测试静态和动态资源例如静态文件 ...

  10. 如何为Apache JMeter开发插件(一)

    本文转载于http://blog.csdn.net/column/details/12925.html,作者:xreztento 作者写的很精华,我打算在此系列操作一遍后,加多点截图,便于更多人更快上 ...

最新文章

  1. 2022-2028年中国再生天然橡胶行业市场调查分析及未来前景分析报告
  2. 在Google Cloud Platform上持续部署Node.js
  3. html中可以添加几个类,从一个类中向一个HtmlHead对象添加多个元素
  4. 11.21 if条件语句 年月日执行判断
  5. 固态和机械硬盘组raid_联想G400拆机步骤(固态硬盘替换机械硬盘,机械硬盘替换光驱)...
  6. toad库进行分箱操作
  7. 【转载】【C基础】#define宏定义中的#,##,@#,\ 这些符号的神奇用法
  8. Windows下的Neo4j下载与安装
  9. 爱奇艺涨价背后,还有四步大棋
  10. HTML网页设计制作大作业-制作漫画网页设计6个页面(HTML+CSS+JavaScript)
  11. ad16中如何改变栅格颜色
  12. 基于心电的疲劳分析论文
  13. 判断两数互质,java实现
  14. Laravel第三方登录开发之实现微博登录
  15. MikroTik RouterOS官网硬件一键开启DDNS动态域名解析,解决远程访问及映射/DDNS脚本
  16. 简单几步,正确使用Parallel Desktop 18.0.2
  17. Java实现扑克牌的洗牌发牌看牌
  18. MATLAB教程_11方程式求根_台大郭彦甫课程笔记
  19. coreldraw x4如何出血_CorelDraw x4精确图框 X4拉文字间距总死原因 主版页的问题 出血裁切...
  20. python traceback 丢失_Python异常模块traceback用法实例分析

热门文章

  1. arduinouno组装无人机_Arduino UNO四自由度机械臂制作
  2. JAVA框架项目实战:系统公告设计及实现
  3. IDM(Internet Download Manager)下载器使用
  4. HADOOP SPILL FAILED原因
  5. 有道自然语言翻译和文字识别OCR(图片文字识别)接口调用
  6. Vue 项目的成功发布和部署
  7. 谭浩强C++ 第四章
  8. 第一章:渗透测试的本质信息收集
  9. html怪异模式是什么,浅谈CSS编程中的怪异模式
  10. lammps教程:in文件结构详解以及一个比较实用的in文件模板