压测工具JMeter的使用

简介

性能压测工具,在我们项目开发过程中肯定免不了要经常使用,来检测我们完成的接口或者整体服务的抗压水平。Apache提供了个 ab 命令,可以进行压测功能,只不过功能相对简单,有时候很难满足我们的测试需求。

所以,这里介绍下Apache的另一款压测工具 JMeter,它是Apache组织开发的开源项目,设计之初是用于做性能测试的,同时它在实现对各种接口的调用方 面做的比较成熟,因此,常被用做接口功能测试和性能测试。

优点

  • 开源免费
  • 轻量级免安装(开箱即用)
  • 支持的可扩展插件多
  • 功能很完善,基本能满足压测的需求

缺点

  • 报表分析能力较弱

安装

  1. 安装Java的 JDK

    JMeter是由Java开发的,所以要运行它必须先安装配置好Java的运行环境

    JDK的下载地址:https://www.oracle.com/java/technologies/javase-downloads.html

    选择需要的版本,下载完解压到某一磁盘中,然后配置系统环境变量。配置完在 cmd 终端窗口输入 java -version 可以正确输出版本信息证明配置成功

  2. 下载JMeter

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

    下载最新版即可,注意它的Java版本要求,上边的JDK版本不能低于它,不然运行不起来

  3. 运行

    JMeter的优点之一就是开箱即用,下载完解压后就可以直接使用

    进入 D:\apache-jmeter-5.3\bin(我电脑的存放路径)下,右键以管理员身份运行 jmeter.bat 文件就可以打开界面。注意:我这是已经设置为简体中文的显示,默认是英文的。

    设置中文方式: 在选项卡中找到 Options>Choose Language>Chinese (Simplified)

    至于更多样式设置,比如:背景色、字体大小等等这里就不多说了,去网上搜即可

压测示例

本次压测模拟的流程是:请求先访问登录接口,成功后通过返回信息拿到用户ID,再将用户ID作为参数访问商品下单的接口。压力测试规则是每秒1000的并发请求,执行1次,也就是执行1s。

PS:下方涉及到的三个变量 NAME、PASSWORD、USER_ID 它们是需要用 {} 来包裹的,我下边写错了,写成了 () 包裹的了。哈哈,我实在是懒得挨个截图改了,在这里说明下,明白原理就好

  1. 将打开的JMeter的默认的测试计划名称改为自己的项目名或者别的,随意改,我这里改的 lmrs

  2. 新建HTTP请求默认值

    右键测试计划选择 添加>配置元件>HTTP请求默认值

  3. 新建一个线程组

    右键测试计划选择 添加>线程>线程组 。线程数根据自己机器配置来,不要一下设置太多,把机器跑挂了。

  4. 新建登录-HTTP请求取样器

    右键上边创建的线程组选择 添加>取样器>HTTP请求

  5. 新建一个JSON提取器,用于提取登录之后的登录信息

    右键上边创建的登录取样器选择 添加>后置处理器>JSON提取器

  6. 创建两个监听器

    右键登录取样器选择 添加>监听器>察看结果树 。这个是查看请求的结果信息

    右键登录取样器选择 添加>监听器>聚合报告 。这个是请求结果的总体分析

  7. 创建登录接口需要的测试数据

    右键lmrs api线程组选择 添加>配置元件>CSV Data set config

    csv文件内容很简单,就是一列用户名 一列密码
  8. 创建登录完成后另一个要访问的接口

    右键lmrs api线程组选择 添加>取样器>HTTP请求

  9. 给下单接口添加监听器

    右键下单取样器选择 添加>监听器>察看结果树 。这个是查看请求的结果信息

    右键下单取样器选择 添加>监听器>聚合报告 。这个是请求结果的总体分析

  10. 测试

你可能感兴趣的:(压测工具JMeter的使用)