51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3689|回复: 5
打印 上一主题 下一主题

使用Jmeter进行API接口压力测试

[复制链接]
  • TA的每日心情
    无聊
    昨天 09:05
  • 签到天数: 1050 天

    连续签到: 1 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2020-9-29 10:01:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
     前言
      压力测试的工具挺多的,但看了其他人的文章介绍,还是选了jmeter,开源、免费啊,
      下载
      下载地址:
      https://jmeter.apache.org/download_jmeter.cgi
      环境配置
      下载后解压zip到任意目录,然后配置环境变量
      变量名JMETER_HOME,变量值F:\apache-jmeter-4.0
      在变量名CLASSPATH新增
    1. %JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;

    2.   %JMETER_HOME%\lib\jorphan.jar;

    3.   %JMETER_HOME%\lib\logkit-2.0.jar;
    复制代码
    在Path新增
    1. %JMETER_HOME%/bin
    复制代码
    启动  然后启动cmd,输入F:\apache-jmeter-4.0\bin\jmeter.bat

    启动后:

    jmeter的主界面如下:

     更改语言版本为中文

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

    1.  {

    2.       "jsonrpc":"2.0",

    3.       "id":1,

    4.       "method":"eth_getBlockByNumber",

    5.       "params":["0x331f75",true]

    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格式的:

    1. {

    2.       "jsonrpc":"2.0",

    3.       "id":1,

    4.       "method":"eth_getBlockByNumber",

    5.       "params":["0x331f75",true]

    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:网络吞吐量

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏1
    回复

    使用道具 举报

    该用户从未签到

    3#
    发表于 2021-4-12 18:42:01 | 只看该作者
    测试结束后,tps和吞吐量在多少范围内算测试通过呢??
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2021-4-12 18:42:25 | 只看该作者
    tps和吞吐量在多少范围算测试通过呢?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2021-4-12 18:43:18 | 只看该作者
    tps和吞吐量在多少范围算测试通过呢??
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2021-4-12 18:43:37 | 只看该作者
    tps和吞吐量在多少范围算测试通过呢??
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-22 17:12 , Processed in 0.066758 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表