JMeter是基于Java开发的工具,需先安装Java运行环境(推荐OpenJDK 8)。在CentOS终端执行以下命令:
# 安装OpenJDK 8
sudo yum install -y java-1.8.0-openjdk-devel
# 验证Java安装(需显示版本信息)
java -version
若未自动配置环境变量,可手动编辑/etc/profile
文件,添加以下内容并执行source /etc/profile
使其生效:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$JAVA_HOME/bin:$PATH
apache-jmeter-5.4.3.tgz
)。rzsz
工具),解压至指定目录(如/usr/local
):tar -zxvf apache-jmeter-5.4.3.tgz -C /usr/local/
~/.bashrc
(或/etc/profile
)文件,添加JMeter路径:export JMETER_HOME=/usr/local/apache-jmeter-5.4.3
export PATH=$JMETER_HOME/bin:$PATH
执行source ~/.bashrc
使配置生效,验证JMeter安装:jmeter -v
若显示JMeter版本信息,则安装成功。可通过两种方式创建脚本:
方式1:使用JMeter GUI(图形界面)
在CentOS上启动JMeter GUI(jmeter
命令),按以下步骤构建脚本:
Test Plan
→ Add
→ Threads (Users)
→ Thread Group
,设置并发用户数(Number of Threads
)、启动间隔(Ramp-Up Period
,如10秒内启动所有用户)、循环次数(Loop Count
,如Forever
或固定次数)。Add
→ Sampler
→ HTTP Request
,配置目标服务器的Server Name or IP
(如localhost
)、Port Number
(如80
)、Path
(如/api/test
)、请求方法(GET
/POST
)。Add
→ Listener
→ View Results Tree
(调试时使用,压测时禁用)、Summary Report
(汇总性能指标,如平均响应时间、错误率)。File
→ Save As
,将脚本保存为.jmx
格式(如test_plan.jmx
)。方式2:直接编写JMX文件(可选)
若熟悉XML格式,可直接编辑.jmx
文件,定义线程组、采样器等节点(适合自动化场景)。
非GUI模式(推荐):
非GUI模式可节省系统资源,适合大规模压测。执行以下命令:
jmeter -n -t /path/to/test_plan.jmx -l /path/to/result.jtl -e -o /path/to/report
参数说明:
-n
:非GUI模式;-t
:指定测试脚本路径;-l
:指定结果文件路径(.jtl
格式,记录每个请求的详细数据);-e
:测试结束后生成HTML报告;-o
:指定报告存放目录(需为空目录)。GUI模式(调试时使用):
启动JMeter GUI,加载测试脚本(File
→ Open
),点击工具栏的Start
按钮(绿色三角)开始测试,通过View Results Tree
查看实时请求响应。
.jtl
文件,可查看每个请求的响应时间、状态码等信息(适合批量分析)。-e -o
参数后,/path/to/report
目录会生成index.html
文件,用浏览器打开即可查看聚合报告(包含吞吐量、错误率、响应时间分布等可视化指标)。分布式压测:若单台CentOS机器无法提供足够压测能力,可配置多台机器组成主从集群(Master-Slave模式)。具体步骤:
jmeter.properties
文件,设置server.rmi.localport=1099
、server.rmi.ssl.disable=true
,然后启动jmeter-server
(./jmeter-server
)。jmeter.properties
文件,设置remote_hosts=Slave1_IP:1099,Slave2_IP:1099
,然后启动JMeter GUI,点击Run
→ Remote Start
选择Slave节点即可。集成监控工具:通过InfluxDB+Grafana实现实时性能监控(需安装InfluxDB和Grafana,配置JMeter的InfluxdbBackendListenerClient
监听器,将数据存储至InfluxDB,再通过Grafana创建仪表板展示CPU、内存、响应时间等指标)。
top
、htop
、vmstat
等命令),避免压测机成为瓶颈。View Results Tree
等内存消耗大的监听器,仅在调试时使用。.jtl
文件可能较大,建议定期清理或压缩,避免占用过多磁盘空间。