centos环境下jmeter如何进行并发测试
导读:一、CentOS环境下JMeter并发测试基础准备 1. 安装Java环境(JMeter前置依赖) JMeter是基于Java开发的工具,需先安装JDK(建议JDK 8及以上版本)。在CentOS终端执行以下命令: # 检查Java是否已安...
一、CentOS环境下JMeter并发测试基础准备
1. 安装Java环境(JMeter前置依赖)
JMeter是基于Java开发的工具,需先安装JDK(建议JDK 8及以上版本)。在CentOS终端执行以下命令:
# 检查Java是否已安装
java -version
# 若未安装,使用yum安装OpenJDK 8
yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
# 验证安装结果
java -version
2. 下载并安装JMeter
从Apache JMeter官网下载最新稳定版(如apache-jmeter-5.6.3.tgz),解压至指定目录并配置环境变量:
# 下载JMeter(以5.6.3为例)
wget https://downloads.apache.org/jmeter/binaries/apache-jmeter-5.6.3.tgz
# 解压至/usr/local/目录
tar -xzf apache-jmeter-5.6.3.tgz -C /usr/local/
# 配置环境变量(编辑~/.bashrc或/etc/profile)
echo 'export PATH=$PATH:/usr/local/apache-jmeter-5.6.3/bin' >
>
~/.bashrc
# 使环境变量生效
source ~/.bashrc
# 验证JMeter安装
jmeter -v
3. 编写并发测试脚本
通过JMeter GUI创建测试计划(.jmx文件),核心配置如下:
- 线程组:设置并发用户数(如100)、Ramp-Up时间(如60秒,逐步增加用户)、循环次数(如1次或无限);
- HTTP请求:配置目标URL、请求方法(GET/POST)、请求头(如
Content-Type: application/json)、请求体(如JSON参数); - 监听器:添加“查看结果树”(调试用,正式测试建议禁用以减少资源消耗)、“聚合报告”(查看响应时间、错误率等指标)、“Summary Report”(汇总统计)。
保存脚本为test_plan.jmx(如需动态参数,可添加“CSV Data Set Config”读取CSV文件或使用函数如${ __Random()}生成随机值)。
二、CentOS下执行JMeter并发测试
1. 非GUI模式运行(推荐)
非GUI模式可减少资源占用,适合高并发测试。命令格式:
jmeter -n -t /path/to/test_plan.jmx -l /path/to/result.jtl -j /path/to/jmeter.log
-n:非GUI模式;-t:指定测试脚本路径;-l:指定结果文件(记录每个请求的详细信息);-j:指定日志文件(记录测试过程中的警告、错误)。
示例:
jmeter -n -t /usr/local/apache-jmeter-5.6.3/script/test_plan.jmx -l /usr/local/apache-jmeter-5.6.3/result/result.jtl -j /usr/local/apache-jmeter-5.6.3/log/jmeter.log
2. 结果分析
测试完成后,可通过以下方式查看结果:
- 命令行查看摘要:
该命令会生成HTML格式的聚合报告(包含响应时间、吞吐量、错误率等指标),默认保存在jmeter -g /path/to/result.jtl -o /path/to/report/path/to/report目录下,通过浏览器打开index.html即可查看。 - GUI查看详细结果:
启动JMeter GUI,添加“聚合报告”监听器,点击“浏览”加载result.jtl文件,即可查看详细的并发测试指标。
三、CentOS下配置JMeter分布式并发测试(大规模并发场景)
当单台机器无法满足高并发需求时,可通过分布式测试将负载分布到多台机器(控制节点+多个工作节点)。
1. 环境准备
- 所有节点(控制节点、工作节点)安装相同版本的JMeter和JDK;
- 所有节点处于同一局域网,并能互相ping通;
- 关闭所有节点的防火墙或开放JMeter相关端口(默认RMI端口1099,可自定义)。
2. 配置工作节点(Slave)
- 编辑工作节点的
jmeter.properties文件(位于/usr/local/apache-jmeter-5.6.3/bin/):# 关闭SSL(避免证书问题,生产环境建议开启) server.rmi.ssl.disable=true # 指定RMI本地端口(可选,默认随机) server.rmi.localport=2099 - 启动工作节点的JMeter服务:
启动成功后,会显示“Started the test on host @ < 时间> ”。cd /usr/local/apache-jmeter-5.6.3/bin/ ./jmeter-server
3. 配置控制节点(Master)
- 编辑控制节点的
jmeter.properties文件,添加工作节点的IP和端口:# 多个工作节点用逗号分隔(如192.168.1.102:2099,192.168.1.103:2099) remote_hosts=192.168.1.102:2099 - (可选)编辑
user.properties文件,关闭SSL:server.rmi.ssl.disable=true
4. 执行分布式测试
在控制节点上运行以下命令,启动分布式测试:
jmeter -n -t /path/to/test_plan.jmx -l /path/to/result.jtl -R 192.168.1.102:2099
-R:指定工作节点的IP和端口(可多个,用逗号分隔);- 其他参数含义与非GUI模式一致。
测试完成后,结果会汇总到控制节点的result.jtl文件中,后续通过聚合报告分析。
四、并发测试注意事项
- 资源监控:测试过程中通过
top、free -h、iftop等命令监控控制节点和工作节点的CPU、内存、网络带宽使用情况,避免因资源不足导致测试结果偏差; - 脚本调试:正式测试前,通过“查看结果树”监听器检查请求是否正确发送,避免因脚本错误影响结果;
- 结果有效性:多次运行测试(如3次),取平均值作为最终结果,避免偶然因素干扰;
- 分布式测试限制:总样本数=线程数×循环次数×工作节点数量,需根据实际需求调整参数。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos环境下jmeter如何进行并发测试
本文地址: https://pptw.com/jishu/743850.html
