CentOS上使用JMeter进行负载测试的完整步骤
JMeter依赖Java运行环境(建议使用JDK 1.8),通过以下命令安装OpenJDK 1.8:
yum -y install java-1.8.0-openjdk-devel
验证安装是否成功:
java -version
若输出类似openjdk version "1.8.0_xxx"
的信息,则表示安装成功。
访问Apache JMeter官网下载最新稳定版(如5.4.3),将压缩包上传至CentOS的/usr/local
目录并解压:
tar -zxvf apache-jmeter-5.4.3.tgz -C /usr/local/
配置JMeter环境变量,编辑/etc/profile
文件,添加以下内容:
export JMETER_HOME=/usr/local/apache-jmeter-5.4.3 export PATH=$JMETER_HOME/bin:$PATH
使配置生效:
source /etc/profile
验证JMeter安装:
jmeter -v
若输出JMeter版本信息,则表示安装成功。
启动JMeter GUI(jmeter
命令),创建新测试计划,按以下步骤添加元素:
/data/login.csv
),并在HTTP请求中引用变量(如${username}
)。保存测试计划为.jmx
文件(如test_plan.jmx
)。
非GUI模式可减少资源消耗,适合大规模压测。命令格式如下:
jmeter -n -t /path/to/test_plan.jmx -l /path/to/results.jtl
参数说明:
-n
:非GUI模式;-t
:测试计划文件路径;-l
:结果文件路径(需以.jtl
结尾,用于后续分析)。若需自动生成HTML格式的详细报告,可添加-e
(生成报告)和-o
(报告输出目录)参数:
jmeter -n -t /path/to/test_plan.jmx -l /path/to/results.jtl -e -o /path/to/report_dir
报告将包含响应时间分布、吞吐量趋势、错误率等可视化图表。
将生成的results.jtl
文件下载至本地(如Windows系统),用JMeter GUI打开:
若需模拟10万+并发用户,可通过分布式架构扩展负载能力,步骤如下:
在每台Slave节点上,编辑jmeter.properties
文件(位于$JMETER_HOME/bin
目录),设置以下参数:
server.rmi.localport=1099 server_port=1099 server.rmi.ssl.disable=true # 关闭SSL(简化配置,生产环境建议开启)
启动Slave节点:
jmeter-server -Djava.rmi.server.hostname=<slave_ip>
(<slave_ip>
为Slave节点的实际IP地址)
编辑Master节点的jmeter.properties
文件,添加Slave节点的IP地址:
remote_hosts=<slave1_ip>:1099,<slave2_ip>:1099
启动分布式测试(非GUI模式):
jmeter -n -t /path/to/test_plan.jmx -R <slave1_ip>,<slave2_ip> -l /path/to/results.jtl
参数说明:
-R
:指定Slave节点的IP地址(可多个,用逗号分隔)。top
、htop
等工具监控Slave节点的CPU、内存使用情况,避免过载。