温馨提示×

如何用CentOS运行JMeter脚本

小樊
41
2025-10-15 13:56:08
栏目: 智能运维

1. 安装Java环境(JMeter前置依赖)

JMeter是基于Java开发的性能测试工具,需先安装Java运行环境(推荐OpenJDK 8)。在CentOS终端执行以下命令:

# 安装OpenJDK 8
sudo yum install -y java-1.8.0-openjdk-devel

# 验证Java安装(需显示版本信息)
java -version

若未配置Java环境变量,可编辑/etc/profile文件,添加以下内容并执行source /etc/profile使其生效:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$JAVA_HOME/bin:$PATH

2. 下载并安装JMeter

2.1 下载JMeter

访问Apache JMeter官网(jmeter.apache.org),下载最新稳定版本的Linux压缩包(如apache-jmeter-5.4.3.tgz),通过wget命令直接下载到服务器:

wget https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-5.4.3.tgz

2.2 解压并移动到指定目录

使用tar命令解压文件,并将解压后的文件夹移动到/opt目录(便于系统管理):

tar -xzf apache-jmeter-5.4.3.tgz
sudo mv apache-jmeter-5.4.3 /opt/jmeter

2.3 配置环境变量(可选但推荐)

为方便全局调用JMeter命令,编辑~/.bashrc文件,添加以下内容并执行source ~/.bashrc

export PATH=$PATH:/opt/jmeter/bin

验证JMeter安装:

jmeter -version

3. 编写/上传JMeter测试脚本

3.1 图形界面编写脚本(可选)

若需通过GUI编写脚本,可在本地Windows/Mac电脑安装JMeter,创建测试计划(添加线程组、HTTP请求、监听器等),保存为.jmx文件后上传到CentOS服务器(如/opt/jmeter/scripts/目录)。

3.2 直接通过命令行创建简单脚本(可选)

若无需复杂配置,可通过JMeter命令行工具快速生成基础脚本:

jmeter -n -t /opt/jmeter/scripts/test.jmx -l /opt/jmeter/results.jtl

4. 运行JMeter脚本(非GUI模式)

JMeter推荐在非GUI模式下运行性能测试(减少资源消耗),命令格式如下:

jmeter -n -t /path/to/your/test_plan.jmx -l /path/to/results.jtl -e -o /path/to/report
  • 参数说明
    • -n:非GUI模式运行;
    • -t:指定测试脚本(.jmx文件)的绝对路径;
    • -l:指定结果文件(.jtl格式)的保存路径(需提前创建目录);
    • -e:测试结束后生成HTML格式的测试报告;
    • -o:指定报告输出目录(需为空目录)。

示例(假设脚本位于/opt/jmeter/scripts/test.jmx):

# 创建结果和报告目录
mkdir -p /opt/jmeter/results /opt/jmeter/report

# 运行测试并生成报告
jmeter -n -t /opt/jmeter/scripts/test.jmx -l /opt/jmeter/results/result.jtl -e -o /opt/jmeter/report

测试完成后,可通过浏览器访问/opt/jmeter/report/index.html查看详细报告。

5. 高级功能(可选)

5.1 集成InfluxDB+Grafana实时监控

若需实时监控测试指标(如响应时间、吞吐量),可安装InfluxDB和Grafana:

  • 安装InfluxDBsudo yum install -y influxdb && sudo systemctl start influxdb
  • 配置JMeter后端监听器:在JMeter测试计划中添加“后端监听器”,选择InfluxdbBackendListenerClient,配置InfluxDB的URL(如http://localhost:8086)、数据库名称(如jmeter);
  • 安装Grafanasudo yum install -y grafana && sudo systemctl start grafana-server
  • 配置Grafana数据源:添加InfluxDB作为数据源,导入JMeter监控模板(ID:1860)。

5.2 分布式压测

若需模拟大规模并发,可配置JMeter主从节点:

  • Master节点:编辑/opt/jmeter/bin/jmeter.properties,设置remote_hosts=slave1_ip:1099,slave2_ip:1099
  • Slave节点:编辑对应服务器的jmeter.properties,设置server.rmi.localport=1099,并启动jmeter-server
  • 运行分布式测试:在Master节点执行jmeter -n -t /path/to/test.jmx -Rslave1_ip:1099,slave2_ip:1099

0