• 测试工具之压测工具JMeter(一)


    有时候我们接到的需求是秒杀或者抽奖类的功能开发,这时候可能会在某一时间点大量请求并发,我们手工自测很难发现一些高并发场景下的问题,这时候可以借助一些压测工具帮我们模拟出大量请求来测试我们的接口是否能满足业务要求。JMeter是Apache 旗下的开源软件。

    JMeter支持测试的应用/服务/协议有很多例如:Web服务 (HTTP, HTTPS )、 Webservices、Database via JDBC、FTP、LDAP、Mail - SMTP(S), POP3(S) and IMAP(S)、Native commands or shell scripts、TCP、Java Objects等等。

    1.JMeter下载

    访问Apache官方网站https://jmeter.apache.org/download_jmeter.cgi

    点击apache-jmeter-5.5.zip即可开始下载

    图片

    下载完成后解压apache-jmeter-5.5.zip

    图片

    2.使用

    进入bin目录点击jmeter.bat文件即可打开主jmeter界面

    图片

    2.1切换中文

    Options->Choose Language->Chinese(Simplified)

    2.2创建测试计划

    如下界面中可设置激活名称、注释等信息。一个计划中可创建多个线程组

    图片

    2.2.1创建线程组

    TestPlan->添加->线程(用户)->线程组

    图片

    线程组可设置名称和注释,一个线程相当于一个用户请求。比如线程数填100,Ramp-up时间填1,循环次数填1,就表示在1秒内发送100次请求,执行一次。

    图片

    2.2.2创建HTTP请求

    在线程组上点击右键,添加->取样器->HTTP请求

    图片

    Web服务器:设置请求的协议,默认是http,ip填写测试服务器地址,端口号是是测试应用的端口。

    HTTP请求:选择接口支持的请求方法,路径为url的请求路径(GET请求的参数可以直接带在路径上或在下面的参数配置表格中通过点击“添加”按钮来添加请求参数)

    图片

    2.2.3创建察看结果树

    在HTTP请求上点击右键,添加->监听器->察看结果树

    图片

    2.3.4添加聚合报告

    在HTTP请求上点击右键,添加->监听器->聚合报告。

    图片

    说明:

    TestPlan:测试计划,相当于一个工程,

    Thread Group:线程组,相当于模拟的请求数,一个线程相当于一个用户请求

    察看结果树:监听发送请求时各个请求的状态

    聚合报告:汇总一次测试的数据

    2.3.5 开始测试

    点击界面工具栏的绿色三角按钮

    2.3.6查看报告

    选择其中的请求可以在右边看到这个请求地址、请求时间、请求数据长度等详细信息

    图片

    选择聚合报告可以查看本轮测试的数据报告

    图片

    说明:

    样本:请求的次数(线程数*循环次数) 
    平均值:响应时间的平均用时,单位是毫秒
    中位数:响应时间的中位数,单位是毫秒
    90%百分位:90%的响应时间小于该数值,单位是毫秒
    95%百分位:含义和90%类似
    99%百分位:含义和90%类似
    最小值:该次测试最小响应时间,单位是毫秒
    最大值:该次测试最大响应时间,单位是毫秒
    异常%:该次测试出现异常的请求比例
    吞吐量:等同QPS(测试的接口处理请求的能力)
    接收KB/Sec:响应数据的接收速率
    发送KB/Sec:请求数据的发送速率

  • 相关阅读:
    【教师节特辑】做个教师节快乐照片墙吧
    Spring Boot 配置文件
    CAN透传云网关给EPEC3724控制器升级方案
    Postman关联
    【计算机网络】TCP为什么需要4次挥手
    能源企业如何构建网络安全体系?8月18日实战专家在线分享破局之道
    .NET使用StackTrace获取方法调用信息
    新型人工智能技术让机器人的识别能力大幅提升
    探索生成式AI的未来:Chat与Agent的较量与融合
    MyBatis-Plus中分页插件
  • 原文地址:https://blog.csdn.net/java_linux_dev/article/details/136199686