Apache Jmeter测压工具快速入门

Jmeter测压工具快速入门

  • 一、Jmeter介绍
  • [二、Jmeter On Mac](#二、Jmeter On Mac)
    • [2.1 下载](#2.1 下载)
    • [2.2 安装](#2.2 安装)
      • [2.2.1 环境配置](#2.2.1 环境配置)
      • [2.2.2 初始化设置](#2.2.2 初始化设置)
    • [2.3 测试](#2.3 测试)
      • [2.3.1 创建JDBC Connection Configuration](#2.3.1 创建JDBC Connection Configuration)
      • [2.3.2 创建线程组](#2.3.2 创建线程组)
      • [2.3.3 创建JDBC Request](#2.3.3 创建JDBC Request)
      • [2.3.4 创建结果监控](#2.3.4 创建结果监控)
      • [2.3.4 运行结果](#2.3.4 运行结果)
    • [2.4 问题记录](#2.4 问题记录)
      • [2.4.1 VM option 'UseG1GC'异常](#2.4.1 VM option 'UseG1GC'异常)
      • [2.4.2 ExceptionInInitializerError异常](#2.4.2 ExceptionInInitializerError异常)
  • [三、Jmeter On Linux](#三、Jmeter On Linux)
    • [3.1 下载](#3.1 下载)
    • [3.2 示例](#3.2 示例)
    • [3.3 测试](#3.3 测试)

一、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 环境配置

shell 复制代码
# 编辑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
#<<<Jmeter<<<

# :wq退出后,source ~/.bash_profile 让配置生效

# 输入jmeter -h测试,输出帮助指令则说明正常

2.2.2 初始化设置

shell 复制代码
# 输入jmeter启动客户端
jmeter
  • 中文设置
shell 复制代码
# 持久化设置
# 进入配置目录
cd apache-jmeter-5.6.2/bin/
vim jmeter.properties

# 新增如下属性
language=zh_CN

客户端临时设置如下

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.4 运行结果

2.4 问题记录

2.4.1 VM option 'UseG1GC'异常

解决方案

shell 复制代码
# 进入jmeter目录
cd apache-jmeter-5.6.2/bin/
vim jmeter

# 注释如下行即可
# : "${GC_ALGO:="-XX:+UseG1GC -XX:MaxGCPauseMillis=100 -XX:G1ReservePercent=20"}"

2.4.2 ExceptionInInitializerError异常


解决方案

少了mysql驱动,需要把mysql驱动拷贝到lib目录下,然后重启启动Jmeter即可。

三、Jmeter On Linux

非GUI使用模式。

3.1 下载

shell 复制代码
# 官方下载包
wget https://dlcdn.apache.org/jmeter/binaries/apache-jmeter-5.6.tgz

# 解压包
tar -zvf apache-jmeter-5.6.tgz

# 解压后目录结构和本地UI模式一样

3.2 示例

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

shell 复制代码
jmeter -n -t <脚本文件名>.jmx -l <本不存在的结果文件名>.jtl -e -o <存放html报告的空目录>

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

3.3 测试

shell 复制代码
# jmx用【二、Jmeter On Mac】中的测试case
./bin/jmeter -n -t test01.jmx -l test01.jtl -e -o result01

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

相关推荐
Elastic 中国社区官方博客25 分钟前
如何将数据从 AWS S3 导入到 Elastic Cloud - 第 3 部分:Elastic S3 连接器
大数据·elasticsearch·搜索引擎·云计算·全文检索·可用性测试·aws
Aloudata1 小时前
从Apache Atlas到Aloudata BIG,数据血缘解析有何改变?
大数据·apache·数据血缘·主动元数据·数据链路
水豚AI课代表2 小时前
分析报告、调研报告、工作方案等的提示词
大数据·人工智能·学习·chatgpt·aigc
非著名程序员4 小时前
腾讯为什么支持开源?
开源
CSDN云计算4 小时前
如何以开源加速AI企业落地,红帽带来新解法
人工智能·开源·openshift·红帽·instructlab
sszmvb12344 小时前
测试开发 | 电商业务性能测试: Jmeter 参数化功能实现注册登录的数据驱动
jmeter·面试·职场和发展
拓端研究室TRL5 小时前
【梯度提升专题】XGBoost、Adaboost、CatBoost预测合集:抗乳腺癌药物优化、信贷风控、比特币应用|附数据代码...
大数据
黄焖鸡能干四碗5 小时前
信息化运维方案,实施方案,开发方案,信息中心安全运维资料(软件资料word)
大数据·人工智能·软件需求·设计规范·规格说明书
编码小袁5 小时前
探索数据科学与大数据技术专业本科生的广阔就业前景
大数据
customer085 小时前
【开源免费】基于SpringBoot+Vue.JS医院管理系统(JAVA毕业设计)
java·vue.js·spring boot·后端·spring cloud·开源·intellij-idea