• Apache Jmeter测压工具快速入门


    一、Jmeter介绍

    在这里插入图片描述

    Apache JMeter是一款由Apache软件基金会开发的纯Java桌面应用程序,用于性能测试和负载测试。它最初是用于测试Web应用程序,但逐渐扩展到测试其他类型的网络协议和应用程序。

    使用Apache JMeter可以模拟高负载的用户行为,从而测试一个应用程序在不同负载下的性能表现。它可以对服务器、网络、数据库、操作系统等各个方面的性能进行监控和分析,帮助开发人员和测试人员快速定位性能问题和瓶颈,并提供详细的性能报告和分析结果。

    Apache JMeter支持多种网络协议和数据格式,包括HTTP、FTP、JDBC等,并且可以通过插件机制扩展其功能。它具有丰富的图形界面和易用的脚本编辑器,允许用户创建复杂的测试场景和流程,并支持多线程并发执行,以模拟真实的用户行为和负载情况。

    除了性能测试之外,Apache JMeter还可以用于功能测试、压力测试、安全测试等各个方面。它是一款开源软件,免费使用并得到了广泛的应用。

    二、Jmeter On Mac

    界面化操作,Windows流程类似。

    2.1 下载

    Jmeter下载地址
    在这里插入图片描述
    下载完后解压到你想的那个位置即可,目录如下
    在这里插入图片描述

    2.2 安装

    需要先安装JDK,可参考Java快速入门体验

    2.2.1 环境配置

    # 编辑profile
    vim ~/.bash_profile
    
    # 根据自己目录输入如下配置
    #>>>Jmeter>>>
    export JMETER_HOME=/Users/jayhua/Documents/apache-jmeter-5.6.2
    export PATH=$JAVA_HOME/bin:$PATH:.:$JMETER_HOME/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$JMETER_HOME/lib/logkit-2.0.jar
    #<<
    
    # :wq退出后,source ~/.bash_profile 让配置生效
    
    # 输入jmeter -h测试,输出帮助指令则说明正常
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    在这里插入图片描述

    2.2.2 初始化设置

    # 输入jmeter启动客户端
    jmeter
    
    • 1
    • 2

    在这里插入图片描述

    • 中文设置
    # 持久化设置
    # 进入配置目录
    cd apache-jmeter-5.6.2/bin/
    vim jmeter.properties
    
    # 新增如下属性
    language=zh_CN
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    客户端临时设置如下
    在这里插入图片描述

    2.3 测试

    以JDBC Connection为例。

    2.3.1 创建JDBC Connection Configuration

    在这里插入图片描述

    • 配置名称
    • 配置DB URL
    • 配置JDBC 驱动
    • 配置账号密码
      在这里插入图片描述

    2.3.2 创建线程组

    在这里插入图片描述
    主要用于控制压测的循环测试、线程数和压测时间等
    在这里插入图片描述

    2.3.3 创建JDBC Request

    在这里插入图片描述
    主要用于关联JDBC配置及输入查询SQL的内容
    在这里插入图片描述

    2.3.4 创建结果监控

    在这里插入图片描述

    2.3.5 运行结果

    在这里插入图片描述

    2.4 问题记录

    2.4.1 VM option 'UseG1GC’异常

    在这里插入图片描述

    解决方案

    # 进入jmeter目录
    cd apache-jmeter-5.6.2/bin/
    vim jmeter
    
    # 注释如下行即可
    # : "${GC_ALGO:="-XX:+UseG1GC -XX:MaxGCPauseMillis=100 -XX:G1ReservePercent=20"}"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    2.4.2 ExceptionInInitializerError异常

    在这里插入图片描述
    解决方案
    少了mysql驱动,需要把mysql驱动拷贝到lib目录下,然后重启启动Jmeter即可。
    在这里插入图片描述

    三、Jmeter On Linux

    非GUI使用模式。

    3.1 下载

    # 官方下载包
    wget https://dlcdn.apache.org/jmeter/binaries/apache-jmeter-5.6.tgz
    
    # 解压包
    tar -zvf apache-jmeter-5.6.tgz
    
    # 解压后目录结构和本地UI模式一样
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    3.2 示例

    命令模版和参数说明,详情可阅JMeter命令行模式官方手册

    jmeter -n -t <脚本文件名>.jmx -l <本不存在的结果文件名>.jtl -e -o <存放html报告的空目录>
    
    -h 帮助
    -n 非GUI模式
    -t 测试脚本.jmx的路径和文件名称
    -l 测试结果存放的路径和文件名称 (要确保之前没有运行过,即xxx.jtl不存在,不然报错),会自动创建
    -r 启动jmeter.properties文件中指定的所有远程服务器
    -e 在脚本运行结束后生成html报告
    -o 用于存放html报告的目录(目录要为空,不然报错),会自动创建
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    3.3 测试

    # jmx用【二、Jmeter On Mac】中的测试case
    ./bin/jmeter -n -t test01.jmx -l test01.jtl -e -o result01
    
    • 1
    • 2

    在这里插入图片描述

    至此,Jmeter测压工具快速入门介绍完成~查阅过程中若遇到问题欢迎留言或私信交流。

  • 相关阅读:
    底层驱动day8作业
    java计算机毕业设计航空订票管理系统源程序+mysql+系统+lw文档+远程调试
    怎么保护公司文件安全
    3).基础平台与业务平台的关系
    速锐得解码匹配特斯拉电动汽车安全性能检测车架号及BMS电池数据
    7、索引优化分析
    2.类和对象(上)
    【mysql】1000w数据量的分页查询SQL,如何优化提升性能?
    json.load()和json.loads()
    点与线段的关系
  • 原文地址:https://blog.csdn.net/ith321/article/details/133909358