JMeter是基于Java开发的性能测试工具,需先安装Java 8或更高版本(推荐OpenJDK 8)。
安装OpenJDK 8:
sudo yum install -y java-1.8.0-openjdk-devel
验证Java安装:
java -version
输出应包含java version "1.8.0_xxx",确认Java环境正常。
.tgz压缩包(如apache-jmeter-5.4.3.tgz)。tar -zxvf apache-jmeter-5.4.3.tgz -C /opt/
sudo mv /opt/apache-jmeter-5.4.3 /opt/jmeter
sudo ln -s /opt/jmeter/bin/jmeter /usr/local/bin/jmeter
若系统已配置Apache镜像源,可直接通过yum安装:
sudo yum install -y jmeter
安装完成后,通过jmeter -v验证是否成功。
为避免每次输入完整路径,可将JMeter bin目录添加到系统PATH:
echo 'export PATH=$PATH:/opt/jmeter/bin' >> ~/.bashrc
source ~/.bashrc
验证环境变量:
jmeter -v
输出应显示JMeter版本及安装路径。
jmeter-gui
启动后,通过GUI添加线程组、HTTP请求、监听器(如“查看结果树”“聚合报告”)等组件,配置完成后点击“启动”按钮执行测试。
将测试脚本(.jmx文件)上传至服务器,执行以下命令:
jmeter -n -t /path/to/your/test_plan.jmx -l /path/to/results.jtl -e -o /path/to/report
参数说明:
-n:非GUI模式(无界面,资源占用低);-t:测试脚本路径(如/opt/scripts/test.jmx);-l:结果文件路径(.jtl格式,记录每个请求的响应时间、状态码等);-e:测试结束后生成HTML报告;-o:报告输出目录(需为空目录)。查看报告:
测试完成后,在浏览器中打开/path/to/report/index.html,即可查看聚合报告、趋势图等可视化结果。
若需模拟高并发场景,可配置主从节点(Master-Slave):
/opt/jmeter/bin/jmeter.properties,设置:server.rmi.localport=1099
server.rmi.ssl.disable=true
启动Slave服务:jmeter-server
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
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.0_linux-amd64.tar.gz
tar -xzf influxdb-1.8.0_linux-amd64.tar.gz -C /opt/
ln -s /opt/influxdb-1.8.0 /opt/influxdb
启动InfluxDB:/opt/influxdb/influxd
jmeter.properties中添加:jmeter.save.saveservice.output_format=csv
jmeter.save.saveservice.url=true
jmeter.save.saveservice.response_code=true
并在测试计划中添加Backend Listener(选择InfluxdbBackendListenerClient),配置InfluxDB的URL(如http://localhost:8086)、数据库名(如jmeter)。wget https://dl.grafana.com/oss/release/grafana-7.5.4.linux-amd64.tar.gz
tar -xzf grafana-7.5.4.linux-amd64.tar.gz -C /opt/
ln -s /opt/grafana-7.5.4 /opt/grafana
启动Grafana:/opt/grafana/bin/grafana-server
访问http://<服务器IP>:3000(默认账号admin/admin),添加InfluxDB数据源,导入JMeter监控模板(如ID1860),即可实时查看性能指标(如QPS、响应时间)。chmod调整)。jmeter脚本中的HEAP参数,如HEAP="-Xms1g -Xmx4g")。