• 使用jmeter进行api接口压力测试


    前言

    压力测试的工具挺多的,但看了其他人的文章介绍,还是选了jmeter,开源、免费啊,

    下载

    下载地址:
    https://jmeter.apache.org/download_jmeter.cgi

    环境配置

    下载后解压zip到任意目录,然后配置环境变量
    变量名JMETER_HOME,变量值F:apache-jmeter-4.0
    在变量名CLASSPATH新增

    %JMETER_HOME%libextApacheJMeter_core.jar;
    %JMETER_HOME%libjorphan.jar;
    %JMETER_HOME%liblogkit-2.0.jar;
    • 1
    • 2
    • 3

    在Path新增

    %JMETER_HOME%/bin 
    • 1

    启动

    然后启动cmd,输入F:apache-jmeter-4.0injmeter.bat
    这里写图片描述
    启动后:
    这里写图片描述
    jmeter的主界面如下:
    这里写图片描述
    更改语言版本为中文
    这里写图片描述

    所需的api参数

    我们现在准备对以太坊的jsonrpcapi接口进行测试
    地址是:
    http://192.168.10.131:8545
    http请求头部配置:
    Content-Type:application/json
    请求内容:

    {
        "jsonrpc":"2.0",
        "id":1,
        "method":"eth_getBlockByNumber",
        "params":["0x331f75",true]
    }
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    创建测试用例

    创建线程组

    在测试计划中右键弹出菜单,添加-》Threads(Users)-》线程组
    这里写图片描述

    线程组的参数配置
    这里写图片描述

    线程属性中,Ramp-Up Period(in seconds),间隔多长时间启动1个线程,直到创建100个线程,如果为0的话,则在开始测试后立刻创建100个线程
    可以选中“调度器”,设置需要持续测试的时间,

    设置http请求头部

    在通常编写的api中,是需要配置http请求头部的,在jmeter中也由相关的设置,
    在线程组单击右键出现菜单栏,添加-》配置元件-》HTTP信息头管理器
    这里写图片描述
    添加api中需要的头部配置信息
    这里写图片描述

    设置http请求默认值

    http请求默认值的设置,可以设置请求的服务器,其他环境下的http请求只需添加对应的子路径即可完成测试,
    方便测试环境与生产环境之间的切换
    这里写图片描述
    一般设置好服务器地址即可
    这里写图片描述

    设置http请求

    右键点击“线程组”,出现菜单,添加-》Sampler-》HTTP请求

    这里写图片描述
    HTTP请求的路径,本次测试并未填写,可根据实际情况添加
    在BodyData,中填入需要请求的参数,这里以太坊的jsonrpc-api,需要请求的参数是json格式的,

    {
        "jsonrpc":"2.0",
        "id":1,
        "method":"eth_getBlockByNumber",
        "params":["0x331f75",true]
    }
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    这里写图片描述

    为http请求添加查看结果树

    右键点击“http请求”(就是之前添加的http请求项),添加-》监听器-》查看结果树
    可在此页面中查看每次的api请求过程以及结果,方便后期分析
    这里写图片描述

    为http请求添加Summary Report

    右键点击“http请求”,添加-》监听器->Summary Report
    可在此页面中查看报告
    这里写图片描述

    开始测试

    右键点击”线程组“,start
    这里写图片描述
    测试完成之后,可以查看每个api请求过程及结果
    这里写图片描述
    以及综合报告
    这里写图片描述
    综合报告各个参数指标说明

    Label:取样器/监听器名称

    Samples :事务数量

    Average:平均一个完成一个事务消耗的时间(平均响应时间)

    Min:最小响应时间

    Max:最大响应时间

    以上单位都是ms

    Std.Dev:偏离量,越小表示越稳定

    Error %:错误事务率

    Throughtput:每秒事务数,即tps

    KB/sec:网络吞吐量

  • 相关阅读:
    【转】EDK简单使用流程(3)
    【转】应用 printf 语句格式化输出字符
    【转】[FPGA博客大赛](updated)在xilinx的FPGA系统中scanf函数的使用
    BZOJ 1083 [SCOI2005]繁忙的都市
    BZOJ 2821 分块统计
    BZOJ 1034 [ZJOI2008]泡泡堂BNB
    BZOJ 1029 [JSOI2007]建筑抢修
    BZOJ 1096 [ZJOI2007]仓库建设
    BZOJ 1070 [SCOI2007]修车
    BZOJ 1040 [ZJOI2008]骑士
  • 原文地址:https://www.cnblogs.com/zhichao-123/p/13725221.html
Copyright © 2020-2023  润新知