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 通信场景

相关推荐
三言老师9 小时前
K8s集群运行时自动化运维全覆盖落地实操(下)
linux·运维·服务器·网络
80s77710 小时前
住宅代理解析:动态住宅IP与静态住宅IP如何选型?
网络·网络协议·tcp/ip
吴声子夜歌10 小时前
网络安全——网络渗透测试(网络扫描)
网络·web安全·php
fish-man11 小时前
ceshi ceshi yixia
网络·安全·web安全
anxiao_m11 小时前
2026制造业云桌面选型攻略,不同生产场景适配方案汇总
大数据·网络·数据库
吹什么轩12 小时前
linux网络:TCP套接字基础
linux·网络·tcp/ip
志栋智能13 小时前
安全超自动化:构建全方位安全可观测性的基础
网络·安全·自动化
mqiqe14 小时前
线程调度与 Schedulers:Project Reactor 并发模型的核心引擎
java·开发语言·网络
略略略咯咯14 小时前
网络协议-study
网络·网络协议
爱学习的程序媛15 小时前
通信协议完整梳理
网络·网络协议·信息与通信·通信协议