美文网首页
jmeter使用

jmeter使用

作者: 狂暴踩踩 | 来源:发表于2020-03-08 16:19 被阅读0次

    因测试任务较多,但是压测又需要尽快进行,所以了解下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使用

          本文链接:https://www.haomeiwen.com/subject/gyrqlhtx.html