JMeter是基于Java的工具,需先安装Java 8及以上版本。在CentOS终端执行以下命令:
# 安装OpenJDK 1.8
yum -y install java-1.8.0-openjdk-devel
# 验证安装(需显示版本号,如1.8.0_xxx)
java -version
从Apache官网下载最新稳定版JMeter(如5.4.3),解压至指定目录并配置环境变量:
# 下载JMeter(以5.4.3为例)
wget https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-5.4.3.tgz
# 解压到/opt目录
tar -zxvf apache-jmeter-5.4.3.tgz -C /opt/
# 配置环境变量(编辑~/.bashrc)
echo 'export PATH=$PATH:/opt/apache-jmeter-5.4.3/bin' >> ~/.bashrc
source ~/.bashrc # 使配置生效
# 验证安装(显示JMeter版本)
jmeter -v
通过JMeter GUI创建测试计划,核心配置线程组(并发用户数的核心载体):
jmeter,打开图形界面。测试计划→添加→Threads (Users)→线程组。添加→Sampler→HTTP请求,配置目标接口的URL、请求方法(GET/POST)、参数等。添加→Listener→聚合报告(查看响应时间、吞吐量等汇总指标)、查看结果树(调试时查看单个请求详情,正式测试建议关闭以避免内存占用过高)。点击JMeter工具栏的启动按钮(绿色三角形),执行测试。测试过程中可通过监听器实时查看结果,测试完成后点击停止按钮(红色方块)。
图形界面会消耗系统资源,正式压测建议使用非GUI模式,命令格式如下:
# 基本命令(指定测试脚本路径和结果输出文件)
jmeter -n -t /opt/apache-jmeter-5.4.3/script/test_plan.jmx -l /opt/apache-jmeter-5.4.3/result/result.jtl
# 动态设置线程数(通过-J参数覆盖脚本中的线程数配置)
jmeter -n -t /opt/apache-jmeter-5.4.3/script/test_plan.jmx -l /opt/apache-jmeter-5.4.3/result/result.jtl -Jthreads=200 -Jrampup=30
参数说明:
-n:非GUI模式运行;-t:指定测试脚本(.jmx文件)路径;-l:指定结果输出文件(.jtl格式,后续用于分析);-Jthreads:动态设置线程数(需在脚本中用${__P(threads,100)}引用,默认100);-Jrampup:动态设置Ramp-Up Period(单位:秒)。并发测试时,需同步监控CentOS服务器的资源使用情况,定位性能瓶颈(如CPU、内存瓶颈):
# 实时查看CPU、内存、进程占用(按q退出)
top
# 查看内存使用详情(包括swap分区)
free -h
# 查看磁盘I/O(需安装sysstat包:yum -y install sysstat)
iostat -x 1
# 查看网络流量(需安装sysstat包)
sar -n DEV 1
测试完成后,通过以下方式分析结果:
Average(平均响应时间)、90% Line(90%请求的响应时间)、Throughput(吞吐量,单位:requests/second)、Error %(错误率)等核心指标;-l参数输出.jtl文件,可通过JMeter的结果分析器(文件→打开→选择.jtl文件)查看详细数据,或使用命令行报告生成工具生成HTML报告:jmeter -g /opt/apache-jmeter-5.4.3/result/result.jtl -o /opt/apache-jmeter-5.4.3/report
生成的HTML报告位于/opt/apache-jmeter-5.4.3/report目录,包含趋势图、指标汇总等可视化内容。