jmeter使用

因测试任务较多,但是压测又需要尽快进行,所以了解下jmeter,下面是简单又详细的使用步骤

  • 下载
  • 压测使用的元件所在位置
    • 定义变量
    • csv数据文件设置
    • 响应断言
    • 查看结果树
    • 聚合报告
    • 图形结果
    • 测试片段/http请求
  • csv数据文件使用
  • 压测
  • 结果分析
  • 插件库
    • Transactions per Second
    • Response Times Over Time
下载

个人有个习惯,只要换电脑如果不是实在破解不动,尽量选最新版本的,所以jmeter的下载也是官网下载最新版本,当前使用的版本是5.2.1
解压后在bin目录下用jmeter.bat启动
可以在选项->选择语言中切换中英文

元件的位置

因为这东西下次使用也不知何时何地,因此详细描述下位置所在
每个测试片段应该都可以单独配置,但是我压测两个服务,配置相同,所以配置都在线程组下的级别

  • step1: 添加线程组(可以更换名字)
  • step2:线程组->添加->配置元件->添加用户定义变量
  • step3:线程组->添加->配置元件->csv数据文件设置
  • step4:线程组->添加->监听器->查看结果树
  • step5:线程组->添加->监听器->聚合报告
  • step6:线程组->添加->断言->响应断言
  • step7:线程组->添加->监听器->图形结果
  • step8:线程组->添加->测试片段->测试片段
  • setp9:测试片段->添加->取样器->HTTP请求

csv文件

  • 为什么使用csv文件?
    要进行压测的服务是面向C端的接口,因此内部的数据都是会走redis缓存的,如果只是单纯的使用相同的参数进行压测结果是不准确的,因此我需要压测的时候使用不同的数据进行请求

  • csv文件的使用
    创建一个txt文件; 修改后缀为csv即可; txt也可以,但是我觉得csv后缀让我更加舒服一些,csv的格式可以网上查一下,文章较多,下面是我使用逗号分割的数据展示:

1900-10086-saas-134903645339712257,134903888052550406,134903888052550410,134907030342269710 
1900-1003-saas-134914445471323173,134906253846713346,134914509915755566,134914509915755572
1900-002-saas-134914445471323173,134906253846713346,134914509915755566,134914509915755572,134914660248910619
1900-10087-saas-134914445471323173,134906253846713346,134914509915755566,134914509915755572,134914660248910619,134914660249959199,135178971588393767,135178971588393773,135178971589442355,135178971589442361
1900-002-saas-135178971588393767,135178971588393773,135178971589442355,135178971589442361,135180553283638298,135180553283638302

在jmeter中使用csv文件:


image.png

csv可以认为是一个表格, 然后这里设置下表头和分割方式, 文件中我使用了横线进行分割; 因此我这里分隔符也是横线;
后面会使用表头进行放置数据

压测

本次要压测的是POST请求

  • 用户定义的变量
    • 当前在本地压测测试一下,设置了本地变量: local->127.0.0.1
  • 设置Http请求头
    • HTTP信息头管理器中添加 Content-Type 值为 application/json
  • 响应断言
    • 服务响应成功,code为100,因此在响应断言中增加测试返回数据中是否包含:code:100的字符串
  • HTTP请求
    直接上图, 使用csv文件和使用本地变量都是使用${}来进行引用


    image.png
  • 配置压测时的配置数据

1.响应断言
作用是用于统计成功请求,对于不符合的请求按请求失败处理,最终统计成功的请求
本次压测成功的请求返回的是code为100的; 因此响应断言中增加:


image.png

2.线程数量


image.png

压测结果

启动后看两个地方:

1.查看结果树
里面记录了请求的响应,加入断言后在这里可以得到体现,如果断言失败是失败请求,如果异常率较高; 在这里可以过滤出失败的请求; 看下失败的原因


image.png

2.聚合报告
看接口的tps就在这里进行查看


image.png

插件库

image.png

默认并没有这个Plugins Manager选项; 这时候需要先下载插件的jar包;网址上有使用说明,将jar包放在 lib/ext 下重启jmeter;
我这边要用的插件是Avaliable Plugins中最后的一个; 这里会有一个下载的过程; 下载的时候jmeter跟进程中断一样; 当设置完成后在Installed Plugins中展示;
image.png

  • Transactions per Second
    即tps,每秒事务数,性能测试中,最重要的2个指标之一。该插件的作用是在测试脚本执行过程中,监控查看服务器的TPS表现————比如整体趋势、实时平均值走向、稳定性等。


    image.png
  • Response Times Over Time
    即TRT,事务响应时间,性能测试中,最重要的两个指标的另外一个。该插件的主要作用是在测试脚本执行过程中,监控查看响应时间的实时平均值、整体响应时间走向等。


    image.png
  • 其他插件; 可以按需使用; 当前我没有使用的需求

最后; 上述截图只是本地的一个测试样例; 我用来熟悉jmeter使用; 截图数据不具备参考

你可能感兴趣的:(jmeter使用)