JMeter是基于Java开发的工具,需先安装JDK(建议JDK 8及以上版本)。在CentOS终端执行以下命令:
# 检查Java是否已安装
java -version
# 若未安装,使用yum安装OpenJDK 8
yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
# 验证安装结果
java -version
从Apache JMeter官网下载最新稳定版(如apache-jmeter-5.6.3.tgz),解压至指定目录并配置环境变量:
# 下载JMeter(以5.6.3为例)
wget https://downloads.apache.org/jmeter/binaries/apache-jmeter-5.6.3.tgz
# 解压至/usr/local/目录
tar -xzf apache-jmeter-5.6.3.tgz -C /usr/local/
# 配置环境变量(编辑~/.bashrc或/etc/profile)
echo 'export PATH=$PATH:/usr/local/apache-jmeter-5.6.3/bin' >> ~/.bashrc
# 使环境变量生效
source ~/.bashrc
# 验证JMeter安装
jmeter -v
通过JMeter GUI创建测试计划(.jmx文件),核心配置如下:
Content-Type: application/json)、请求体(如JSON参数);test_plan.jmx(如需动态参数,可添加“CSV Data Set Config”读取CSV文件或使用函数如${__Random()}生成随机值)。非GUI模式可减少资源占用,适合高并发测试。命令格式:
jmeter -n -t /path/to/test_plan.jmx -l /path/to/result.jtl -j /path/to/jmeter.log
-n:非GUI模式;-t:指定测试脚本路径;-l:指定结果文件(记录每个请求的详细信息);-j:指定日志文件(记录测试过程中的警告、错误)。jmeter -n -t /usr/local/apache-jmeter-5.6.3/script/test_plan.jmx -l /usr/local/apache-jmeter-5.6.3/result/result.jtl -j /usr/local/apache-jmeter-5.6.3/log/jmeter.log
测试完成后,可通过以下方式查看结果:
jmeter -g /path/to/result.jtl -o /path/to/report
该命令会生成HTML格式的聚合报告(包含响应时间、吞吐量、错误率等指标),默认保存在/path/to/report目录下,通过浏览器打开index.html即可查看。result.jtl文件,即可查看详细的并发测试指标。当单台机器无法满足高并发需求时,可通过分布式测试将负载分布到多台机器(控制节点+多个工作节点)。
jmeter.properties文件(位于/usr/local/apache-jmeter-5.6.3/bin/):# 关闭SSL(避免证书问题,生产环境建议开启)
server.rmi.ssl.disable=true
# 指定RMI本地端口(可选,默认随机)
server.rmi.localport=2099
cd /usr/local/apache-jmeter-5.6.3/bin/
./jmeter-server
启动成功后,会显示“Started the test on host jmeter.properties文件,添加工作节点的IP和端口:# 多个工作节点用逗号分隔(如192.168.1.102:2099,192.168.1.103:2099)
remote_hosts=192.168.1.102:2099
user.properties文件,关闭SSL:server.rmi.ssl.disable=true
在控制节点上运行以下命令,启动分布式测试:
jmeter -n -t /path/to/test_plan.jmx -l /path/to/result.jtl -R 192.168.1.102:2099
-R:指定工作节点的IP和端口(可多个,用逗号分隔);result.jtl文件中,后续通过聚合报告分析。top、free -h、iftop等命令监控控制节点和工作节点的CPU、内存、网络带宽使用情况,避免因资源不足导致测试结果偏差;