基于KVM两个RDMA端口通信测试 - RoCE传输模式下

本文介绍了如何通过在KVM环境中使用RDMA的RoCE技术,验证两个节点(node1和node2)之间的通信。首先确保集群网络连通性,然后通过`ib_send_bw`命令行工具在服务器端和服务端客户端进行带宽测试,以检查连接性和性能。

目的

为验证KVM的RDMA两个节点node1 - node2之间能正常RoCE通信传输,检查三个nodes的集群网,能ping通是测试继续的基础条件

验证步骤

Server和Client进行 ib_send_bw命令行检验,启动server端等待Client的链接,使用带宽测试的参数,只确定连通性。

服务端 node 执行

 ib_sent_bw -a -c UD -d mlx5_0 -i 1

客户端 node

ib_send_bw -a -c UD -d mlx5_0 -i 1 10.20.2.22

<think>我们正在讨论如何测试RDMA协议的性能。根据之前的对话历史和引用资料,我们可以总结出以下关键点: 1. 引用[1]提供了一个RDMA测试的示例结果:在5000次64KB数据传输中,峰值带宽52.38 MB/s,平均带宽19.85 MB/s,消息传输速率318包/秒。这提示我们测试时要注意传输次数、传输大小、带宽指标等。 2. 引用[2]介绍了RDMA的技术背景,包括两大组织(IBTA和RDMAC/IETF)以及三种实现(InfiniBand, RoCE, iWARP)。测试时需要注意协议类型(如RoCE或InfiniBand)可能影响测试方法。 3. 引用[3]指出IPoIB性能低于RDMA通信方式,因此测试时要确保直接使用RDMA(而不是IPoIB)以获得高带宽低延迟。 根据用户当前问题“我想测试RDMA协议的性能或方法 请问如何测试RDMA协议的性能”,结合之前的回答(已详细介绍了测试步骤),我们需要更聚焦于“协议性能”测试的具体方法。 因此,本回答将重点放在: - 测试工具选择(如perftest) - 测试指标(带宽、延迟等) - 测试步骤(如何执行不同类型的测试- 结果解读 同时注意引用文献的融入。</think>### RDMA协议性能测试方法 测试RDMA协议性能需通过专业工具测量**带宽、延迟、消息速率**等核心指标,以下为详细步骤(基于Linux环境): --- #### 1. **测试工具准备** 使用`perftest`工具集(专为RDMA硬件基准测试设计): ```bash # CentOS/RHEL安装 yum install perftest rdma-core # Ubuntu安装 apt install perftest rdma-core ``` 关键工具: - `ib_send_bw`/`ib_send_lat`:测试SEND操作的带宽/延迟 - `ib_write_bw`/`ib_write_lat`:测试RDMA Write操作的带宽/延迟 - `ib_read_bw`/`ib_read_lat`:测试RDMA Read操作的带宽/延迟 > ⚠️ 注意:避免使用IPoIB(基于IP的InfiniBand),其性能显著低于原生RDMA[^3]。 --- #### 2. **基础性能测试流程** 需两台直连的RDMA主机(Server & Client),以**RDMA Write带宽测试**为例: - **Server端启动服务**: ```bash ib_write_bw -d mlx5_0 -x 1 -s 64K -n 5000 --report_gbits ``` 参数说明: - `-d mlx5_0`:指定RDMA设备(通过`ibv_devinfo`查看) - `-s 64K`:设置单次传输大小为64KB(引用[1]测试用例) - `-n 5000`:总传输次数(与引用[1]一致) - `--report_gbits`:结果以Gbps为单位 - **Client端发起测试**: ```bash ib_write_bw -d mlx5_0 -x 1 -s 64K -n 5000 --report_gbits <Server_IP> ``` --- #### 3. **结果解读与性能指标** 测试完成后输出关键指标: ```plaintext BW=52.38 MB/sec # 峰值带宽(引用[1]实测值) Average BW=19.85 MB/sec # 平均带宽 MsgRate=318 msg/sec # 消息传输速率 ``` **性能优化方向**: - **低带宽问题**:检查网卡协商模式(需100Gbps全双工)、CPU亲和性(`taskset`绑定核心) - **高延迟问题**:关闭CPU节能模式(`cpupower frequency-set -g performance`) - **协议选择**:RoCEv2(基于UDP)延迟通常低于iWARP(基于TCP)[^2] --- #### 4. **高级测试场景** | 测试类型 | 工具 | 应用场景 | |-------------------|-------------------|----------------------------| | **原子操作性能** | `ib_atomic_bw` | 分布式锁、数据库事务 | | **读/写混合负载** | 自定义`ib_*`脚本 | 存储系统(如NVMe over Fabrics)| | **大规模并发** | `-t 16 -Q 1` | 多队列测试(16线程+1QP) | > 💡 **真实案例**:引用[1]中64KB数据包测试显示,**消息速率318 msg/sec**可能受限于PCIe带宽或内存复制开销,需结合`perf`工具分析瓶颈。 --- #### 5. **协议实现差异对比** 不同RDMA协议的性能特征(引用[2]): | 协议 | 延迟 | 带宽 | 网络要求 | |------------|------------|------------|------------------| | **InfiniBand** | 0.5~1 μs | 100+ Gbps | 专用交换机和网卡 | | **RoCEv2** | 1~2 μs | 90+ Gbps | 支持PFC的以太网 | | **iWARP** | 5~10 μs | 80+ Gbps | 标准TCP/IP网络 | > ✅ **最佳实践**: > - 使用`ibv_rc_pingpong`验证端到端RDMA连接性 > - 通过`ethtool -k <网卡>`检查GRO/GSO等卸载功能是否启用
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值