• Apache JMeter压测安装使用


    image.png

    Apache JMeter™应用程序是一个100%纯Java开源应用程序,旨在负载测试功能并测量其性能。它最初是为测试Web应用程序而设计的,但后来扩展到其他测试功能。Apache JMeter可用于测试静态和动态资源,Web动态应用程序的性能。它可用于模拟服务器,服务器组,网络或对象上的重负载,以测试其强度或分析不同负载类型下的整体性能。

    Apache JMeter的功能包括

    1. 能够加载和性能测试许多不同的应用程序/服务器/协议类型:
      Web - HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET, …)
      SOAP / REST Webservices
      FTP
      通过 JDBC 建立的数据库
      LDAP
      通过 JMS 实现面向消息的中间件 (MOM)
      邮件 - SMTP、POP3 和 IMAP
      本机命令或外壳脚本
      TCP
      Java 对象
    2. 功能齐全的测试 IDE,允许快速记录测试计划(从浏览器或本机应用程序)、生成和调试。
    3. CLI模式(命令行模式(以前称为非GUI)/无外设模式)从任何Java兼容操作系统(Linux,Windows,Mac OSX等)进行负载测试
    4. 完整且随时可以呈现的动态 HTML 报告
    5. 通过从最流行的响应格式(HTML,JSON,XML或任何文本格式)中提取数据的能力,轻松关联
    6. 完全的可移植性和100%的Java纯度。
    7. 完整的多线程框架允许多个线程并发采样,并允许通过单独的线程组同时采样不同的函数。
    8. 缓存和离线分析/重放测试结果。
    9. 高度可扩展的核心:
      可插拔采样器允许无限的测试功能。
      可脚本化的采样器(JSR223 兼容语言,如 Groovy 和 BeanShell)
      可以使用可插拔计时器选择多个负载统计信息。
      数据分析和可视化插件可实现出色的可扩展性和个性化。
      函数可用于为测试提供动态输入或提供数据操作。
      通过 Maven、Gradle 和 Jenkins 的第三方开源库轻松持续集成。

    1. 下载

    官网地址:https://jmeter.apache.org/
    这里我们介绍的是Windows版本,而且JDK版本必须是8及以上,
    如果没有安装JDK的可以参考https://blog.csdn.net/WeiHao0240/article/details/86550186
    image.png

    2. 使用

    下载好之后解压,然后点击如下即可(如果打不开,可以双击jmeter.bat文件)。
    可以看到,JMeter使用的是Log4j2日志,可见Log4j2的地位越来越高。
    image.png

    image.png

    2.1 添加线程组

    依次点击添加→线程用户→线程组
    image.png
    添加好之后需要配置:
    可以按自己的需求配置。
    image.png

    2.2 添加HTTP请求

    这里我们以HTTP请求测试为主来介绍测试,其他测试可自行设置。
    依次点击添加→取样器→HTTP请求
    image.png

    image.png

    如果查询的有参数,可以点击下面的添加,然后修改编码和对应的name和值即可。
    消息体数据对应的POST,也有文件上传。
    image.png

    2.3 添加查看结果树

    设置好HTTP请求之后还需要设置结果树,方便查看统计信息。
    依次点击添加→监听器→查看结果树。
    image.png

    2.4 添加聚合报告

    image.png

    3. 运行

    image.png
    运行完成之后,可以查看刚才设置的报告了:
    image.png
    多注意异常,接口尽量控制没有异常出现,然后就是看吞吐量和平均相应时间了。
    image.png
    如果想清理本次报告,可以点击上面的扫帚,清理后可再次运行,不然会一直叠加报告。
    image.png

    JMeter压测工具就介绍到这里了,感兴趣的小伙伴自己动手实践一遍吧,其他功能可自行了解。

  • 相关阅读:
    【八大经典排序算法】选择排序
    Nginx解决跨域问题的一些想法
    echarts3 map
    在 JavaScript 中,什么时候使用 Map 或胜过 Object
    14:00面试,14:06就出来了,问的问题有点变态。。。
    C++中输入输出速度的优化
    方法重写经典实例
    释放互联网价值的 Web3
    Centos6.9安装redis-dump
    实例讲解Spring boot动态切换数据源
  • 原文地址:https://blog.csdn.net/WeiHao0240/article/details/126311290