首页主机资讯centos环境下jmeter如何进行并发测试

centos环境下jmeter如何进行并发测试

时间2025-11-06 12:24:03发布访客分类主机资讯浏览480
导读:一、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. 结果分析

测试完成后,可通过以下方式查看结果:

  • 命令行查看摘要
    jmeter -g /path/to/result.jtl -o /path/to/report
    
    该命令会生成HTML格式的聚合报告(包含响应时间、吞吐量、错误率等指标),默认保存在/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服务:
    cd /usr/local/apache-jmeter-5.6.3/bin/
    ./jmeter-server
    
    启动成功后,会显示“Started the test on host @ < 时间> ”。

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文件中,后续通过聚合报告分析。

四、并发测试注意事项

  • 资源监控:测试过程中通过topfree -hiftop等命令监控控制节点和工作节点的CPU、内存、网络带宽使用情况,避免因资源不足导致测试结果偏差;
  • 脚本调试:正式测试前,通过“查看结果树”监听器检查请求是否正确发送,避免因脚本错误影响结果;
  • 结果有效性:多次运行测试(如3次),取平均值作为最终结果,避免偶然因素干扰;
  • 分布式测试限制:总样本数=线程数×循环次数×工作节点数量,需根据实际需求调整参数。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: centos环境下jmeter如何进行并发测试
本文地址: https://pptw.com/jishu/743850.html
centos inotify如何检测磁盘空间 centos环境下jmeter如何进行网络测试

游客 回复需填写必要信息