perftest 工具集ib_write_bw中的 RDMA Write 带宽测试工具手册

ib_write_bwperftest 工具集中的 RDMA Write 带宽测试工具,主要用于测试:

  • RDMA Write 带宽
  • 消息速率
  • QP 并发能力
  • MTU影响
  • PCIe/NIC性能
  • GPU Direct RDMA性能

常用参数整理如下。


1. 基础参数

参数 示例 说明
-d -d mlx5_0 指定 RDMA 设备(HCA)
-i -i 1 指定端口号
-p -p 18515 指定TCP控制连接端口
-F -F 忽略部分参数检查(force模式)
-h -h 查看帮助
-V -V 查看版本

示例:

bash 复制代码
ib_write_bw -d shca_0 -i 1 12.11.7.33

2. Queue Pair(QP)相关参数

参数 示例 说明
-q -q 8 QP数量
-t -t 128 TX Queue Depth(发送队列深度)
-r -r 128 RX Queue Depth
-R -R 使用SRQ共享接收队列

QP影响

单QP:

text 复制代码
QP1
 |
NIC

多QP:

text 复制代码
QP1 \
QP2  \
QP3 ---> NIC
QP4  /

例如:

bash 复制代码
ib_write_bw \
-d shca_0 \
-q 8 \
12.11.7.33

测试8个并行QP。


3. 数据大小参数

参数 示例 说明
-s -s 65536 每次消息大小(byte)
-n -n 10000 iteration次数
-a -a 自动测试多个size
--size --size=1M 指定大小

常用:

64KB测试

bash 复制代码
-s 65536

1MB大包

bash 复制代码
-s 1048576

4. MTU相关参数

参数 示例 说明
-m -m 4096 设置IB MTU
--mtu --mtu=4096 同义

常见:

MTU 场景
256 低性能
1024 普通
2048 较好
4096 推荐

你的:

复制代码
Mtu : 4096[B]

已经最大。


5. 测试时间/次数

参数 示例 说明
-n -n 5000 测试次数
-D -D 10 测试持续秒数
-N -N 不交换数据,只测试

例如:

持续10秒:

bash 复制代码
ib_write_bw -D 10 12.11.7.33

6. 内存相关

参数 示例 说明
-l -l 100 outstanding WR数量
-b -b 双向测试
--mr_per_qp 每QP创建多个MR

7. 双向测试

默认:

text 复制代码
Client ---> Server

开启:

bash 复制代码
-b

变:

text 复制代码
Client <----> Server

例如:

bash 复制代码
ib_write_bw -b -d shca_0 12.11.7.33

结果:

测试双向带宽。


8. GPU Direct RDMA参数(AI场景重点)

参数 示例 说明
--use_cuda --use_cuda 使用GPU显存
--use_rocm --use_rocm AMD GPU
--use_cuda_dmabuf CUDA DMA-BUF

例如:

NVIDIA:

bash 复制代码
ib_write_bw \
--use_cuda \
-d mlx5_0 \
12.11.7.33

测试:

复制代码
GPU Memory
    |
RDMA NIC
    |
IB
    |
RDMA NIC
    |
GPU Memory

DCU/ROCm环境:

可能:

bash 复制代码
ib_write_bw \
--use_rocm

9. 输出参数

参数 说明
--report_gbits 输出Gbps
--report_fmt 输出格式
--report_per_port 分端口显示
--cpu_util CPU利用率

例如:

默认:

复制代码
36111 MB/sec

改:

bash 复制代码
--report_gbits

显示:

复制代码
288 Gbits/sec

10. PCIe / RDMA优化参数

参数 说明
--perform_warm_up 预热
--no_peak 不统计peak
--run_infinitely 无限测试
--disable_pcie_relaxed 禁止PCIe Relaxed Ordering

11. 服务端/客户端模式

Server

不带IP:

bash 复制代码
ib_write_bw -d shca_0

等待:

复制代码
Listening on port 18515

Client

带IP:

bash 复制代码
ib_write_bw \
-d shca_0 \
12.11.7.33

12. 常用组合场景

① 测单QP最大带宽

bash 复制代码
ib_write_bw \
-d shca_0 \
-s 1048576 \
12.11.7.33

② 测多QP压力

bash 复制代码
ib_write_bw \
-d shca_0 \
-q 8 \
-s 1048576 \
12.11.7.33

③ 测400G IB极限

服务端:

bash 复制代码
ib_write_bw \
-d shca_0 \
-q 16 \
-s 1048576

客户端:

bash 复制代码
ib_write_bw \
-d shca_0 \
-q 16 \
-s 1048576 \
--report_gbits \
12.11.7.33

④ 大模型训练模拟

推荐:

bash 复制代码
ib_write_bw \
-d shca_0 \
-q 16 \
-s 4194304 \
-t 256 \
--report_gbits \
12.11.7.33

参数:

参数 意义
q16 16路并发
4MB 大Tensor
tx depth 256 增加流水

13. 针对你当前400G IB环境建议测试矩阵

测试项 命令参数 目的
单QP -q 1 基础性能
8QP -q 8 并发能力
16QP -q 16 极限
64KB -s 65536 AI小Tensor
1MB -s 1048576 大通信
4MB -s 4194304 大模型AllReduce
双向 -b 全双工能力
GPU RDMA --use_cuda/--use_rocm 真实训练场景

结合你前面的结果:

复制代码
-q 1
64KB
36.1GB/s
≈289Gbps

下一步最有价值的是:

bash 复制代码
ib_write_bw \
-d shca_0 \
-q 8 \
-s 1048576 \
--report_gbits \
12.11.7.33

这个更接近 大模型 NCCL 通信场景

相关推荐
FPC工厂——皇榜科技1 小时前
机器人灵巧手线路板:从“握得住”到“摸得准”:一只机械手的柔性神经密码
网络·人工智能·科技·机器人·pcb工艺
Orange_sparkle2 小时前
Pi Agent vs LangGraph:从人机交互、企业 RAG 到持久化工作流的完整选型指南
java·网络·人机交互
xiaoye-duck2 小时前
《Linux 网络编程》深入传输层 UDP 协议原理:端口、报文、缓冲区与内核源码解析
linux·网络·udp
好评1243 小时前
【Linux】数据链路层
linux·运维·网络
天衍四九-3 小时前
第一章:从 LLM 到 Agent —— DeepSeek Harness 入门
网络·数据库·人工智能·python
Jae den3 小时前
网络丢包是什么?
网络
XR1234567884 小时前
医院无线整网高密覆盖选型深度解析
运维·网络
发量惊人的中年网工5 小时前
企业一体化安全网关选型:适用规模、需求架构与实施建议
网络
取啥都被占用5 小时前
两个网络供应商靠树莓派跨个域
网络·树莓派
是个西兰花7 小时前
网络基础1
linux·网络·c++·智能路由器