JMeter是基于Java开发的工具,需先安装Java 8及以上版本(推荐OpenJDK 8)。
yum命令快速安装:sudo yum install -y java-1.8.0-openjdk-devel
java -version
输出应包含java version "1.8.0_xxx",表示安装成功。apache-jmeter-x.x.x.tgz压缩包(如5.4.3)。wget直接下载(以5.4.3为例):wget https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-5.4.3.tgz
/opt(推荐)或/usr/local目录:sudo tar -zxvf apache-jmeter-5.4.3.tgz -C /opt
sudo mv /opt/apache-jmeter-5.4.3 /opt/jmeter # 可选:重命名目录
为方便全局使用jmeter命令,需配置环境变量。
/etc/profile.d/jmeter.sh(若不存在则创建):sudo vi /etc/profile.d/jmeter.sh
export JMETER_HOME=/opt/jmeter
export PATH=$JMETER_HOME/bin:$PATH
export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$CLASSPATH
source /etc/profile.d/jmeter.sh
jmeter -v,若输出JMeter版本信息(如Apache JMeter 5.4.3),则表示配置成功。bin/jmeter文件(或bin/jmeter.bat),找到HEAP参数并调整:export HEAP="-Xms2g -Xmx4g -XX:MaxMetaspaceSize=512m"
上述配置将初始堆设为2GB,最大堆设为4GB(根据服务器内存调整)。bin/jmeter.properties,设置结果文件格式为CSV(便于后续分析):jmeter.save.saveservice.output_format=csv
jmeter.save.saveservice.response_data=true
jmeter.save.saveservice.response_data.on_error=true
jmeter命令执行测试脚本(.jmx文件),生成.jtl结果文件:jmeter -n -t /path/to/your/test_plan.jmx -l /path/to/results.jtl
参数说明:
-n:非GUI模式(性能测试必须使用,避免GUI消耗资源);-t:测试脚本路径;-l:结果文件路径(需以.jtl结尾)。jmeter -g /path/to/results.jtl -o /path/to/report
报告会生成在/path/to/report目录下,通过浏览器打开index.html即可查看聚合报告、响应时间分布等图表。若需模拟更高并发,可配置分布式压测(Master-Slave模式):
bin/jmeter.properties,设置server.rmi.localport和server.rmi.ssl.disable:server.rmi.localport=1099
server.rmi.ssl.disable=true
启动Slave节点:jmeter-server
bin/jmeter.properties,指定Slave节点IP:remote_hosts=192.168.1.101:1099,192.168.1.102:1099
启动Master节点并执行分布式测试:jmeter -n -t /path/to/test_plan.jmx -R192.168.1.101:1099,192.168.1.102:1099
参数说明:
-R:指定Slave节点地址(可多个,用逗号分隔)。1099端口(或自定义的RMI端口):sudo firewall-cmd --permanent --zone=public --add-port=1099/tcp
sudo firewall-cmd --reload