首页主机资讯JMeter在CentOS上的并发测试如何设置

JMeter在CentOS上的并发测试如何设置

时间2025-10-03 19:08:03发布访客分类主机资讯浏览574
导读:一、前置准备:安装Java环境 JMeter是基于Java的工具,需先安装JDK(建议1.8及以上版本)。在CentOS上可通过以下命令快速安装OpenJDK 8: sudo yum install -y java-1.8.0-openjd...

一、前置准备:安装Java环境

JMeter是基于Java的工具,需先安装JDK(建议1.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=$PATH:$JAVA_HOME/bin

二、安装JMeter

1. 手动下载安装(推荐)

从Apache JMeter官网下载最新稳定版(如5.4.3),解压至指定目录(如/opt):

wget https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-5.4.3.tgz
tar -xzf apache-jmeter-5.4.3.tgz -C /opt/
sudo mv apache-jmeter-5.4.3 /opt/jmeter

2. 配置环境变量

编辑~/.bashrc文件,添加JMeter的bin目录到PATH

echo 'export PATH=$PATH:/opt/jmeter/bin' >
    >
     ~/.bashrc
source ~/.bashrc

3. 验证安装

执行以下命令查看JMeter版本,确认安装成功:

jmeter -v

三、创建并发测试计划

1. 启动JMeter GUI

在终端输入jmeter启动图形界面(首次运行需等待加载)。

2. 添加线程组

右键点击“测试计划”→“添加”→“Threads (Users)”→“线程组”,配置以下核心参数:

  • 线程数:模拟的并发用户数(如100、500,根据需求调整);
  • Ramp-Up Period(in seconds):所有线程启动的时间间隔(如10秒,表示100个线程在10秒内逐步启动,避免瞬间高负载);
  • 循环次数:每个线程执行的请求次数(如“永远”或指定次数,如10次)。

3. 添加HTTP请求

在线程组下右键→“添加”→“Sampler”→“HTTP请求”,配置目标接口信息:

  • 服务器名称或IP:被测系统的域名或IP(如jsonplaceholder.typicode.com);
  • 端口号:接口端口(默认80可省略);
  • 方法:GET/POST等(根据接口类型选择);
  • 路径:接口路径(如/posts)。

4. 添加监听器(结果收集)

右键点击线程组→“添加”→“Listener”,选择以下监听器(用于查看和分析结果):

  • 查看结果树:查看每个请求的详细响应(调试用,正式测试建议禁用以减少资源消耗);
  • 聚合报告:查看整体性能指标(平均响应时间、吞吐量、错误率等);
  • Summary Report:汇总统计结果。

四、执行并发测试

1. 非GUI模式运行(推荐)

图形界面会消耗大量资源,正式测试建议使用命令行模式。执行以下命令:

jmeter -n -t /path/to/your/test_plan.jmx -l /path/to/results.jtl

参数说明:

  • -n:非GUI模式;
  • -t:测试计划文件路径(.jmx格式);
  • -l:结果文件路径(.jtl格式,记录所有请求的原始数据)。

2. 调整JVM内存(避免内存溢出)

若并发数较大(如超过500),需修改JMeter的内存配置。编辑/opt/jmeter/bin/jmeter文件,找到HEAP参数并调整(如分配2GB内存):

HEAP="-Xms1g -Xmx2g -XX:MaxMetaspaceSize=512m"

修改后需重启JMeter使配置生效。

五、监控与分析

1. 监控系统资源

测试过程中,使用CentOS自带工具监控服务器资源使用情况:

  • top:查看CPU、内存占用;
  • vmstat 1:查看系统级资源使用(每秒刷新一次);
  • netstat -antp:查看网络连接状态(如端口占用、TCP连接数)。

2. 分析测试结果

测试完成后,打开生成的.jtl文件(如用Excel或JMeter自带的监听器),重点关注以下指标:

  • 平均响应时间:接口的平均响应时长(单位:毫秒);
  • 吞吐量(Throughput):每秒处理的请求数(单位:requests/second);
  • 错误率:失败请求占总请求的比例(需控制在合理范围,如< 1%)。

六、常见问题解决

1. 端口占用问题

若测试过程中出现“Connection refused”或“Port already in use”错误,需调整系统端口参数:

# 减少端口释放时间(默认60秒)
echo "net.ipv4.tcp_fin_timeout = 30" >
    >
     /etc/sysctl.conf
# 允许端口复用
echo "net.ipv4.tcp_tw_reuse = 1" >
    >
     /etc/sysctl.conf
sysctl -p  # 使配置生效

2. 内存不足问题

若出现“OutOfMemoryError”,需调整JMeter的JVM内存(参考步骤四中的内存调整方法),或使用分布式测试(见后续扩展内容)。

七、扩展:分布式并发测试(可选)

若单台CentOS服务器无法满足高并发需求,可配置分布式测试(多台机器协同执行):

1. 配置Master节点(控制机)

编辑/opt/jmeter/bin/jmeter.properties,设置远程主机列表:

remote_hosts=192.168.1.101:1099,192.168.1.102:1099  # Slave节点的IP和端口
server.rmi.localport=1099
server.rmi.ssl.disable=true  # 关闭SSL(简化配置)

2. 配置Slave节点(执行机)

在每台Slave机器上编辑jmeter.properties,设置远程主机(自身IP):

remote_hosts=192.168.1.101:1099
server.rmi.localport=1099

3. 启动分布式测试

  • 在Slave节点上启动JMeter服务:
    /opt/jmeter/bin/jmeter-server
    
  • 在Master节点上执行测试:
    jmeter -n -t /path/to/test_plan.jmx -R192.168.1.101:1099,192.168.1.102:1099 -l /path/to/results.jtl
    

参数说明:

  • -R:指定远程Slave节点的IP和端口(可多个,用逗号分隔)。

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


若转载请注明出处: JMeter在CentOS上的并发测试如何设置
本文地址: https://pptw.com/jishu/718992.html
CentOS如何利用JMeter进行移动端性能测试 CentOS上JMeter的插件如何安装与使用

游客 回复需填写必要信息