1、带宽测试
 
在server端执行
[ibtests]# ib_send_bw -a -c UD -d mlx4_0 -i 1
------------------------------------------------------------------
Send BW Test
Connection type : UD
Inline data is used up to 1 bytes message
local address: LID 0x0b, QPN 0x28004c, PSN 0xfaa100
remote address: LID 0x02, QPN 0x70004b, PSN 0xc14da8
Mtu : 2048
------------------------------------------------------------------
#bytes #iterations BW peak[MB/sec] BW average[MB/sec]
------------------------------------------------------------------
在client端执行 
[ibtests]# ib_send_bw -a -c UD -d mlx4_0 -i 1 10.10.11.8
------------------------------------------------------------------
Send BW Test
Connection type : UD
Inline data is used up to 1 bytes message
local address: LID 0x02, QPN 0x70004b, PSN 0xc14da8
remote address: LID 0x0b, QPN 0x28004c, PSN 0xfaa100
Mtu : 2048
------------------------------------------------------------------
#bytes #iterations BW peak[MB/sec] BW average[MB/sec]
2 1000 7.51 7.21
4 1000 15.29 14.19
8 1000 30.66 30.45
16 1000 60.33 59.95
32 1000 119.53 113.20
64 1000 233.75 233.16
128 1000 414.95 413.64
256 1000 794.90 698.20
512 1000 1600.46 774.67
1024 1000 2011.81 804.29
2048 1000 2923.29 2919.91
------------------------------------------------------------------
2、延时测试
在server端执行
[ibtests]# ib_send_lat -a -c UD -d mlx4_0 -i 1
------------------------------------------------------------------
Send Latency Test
Inline data is used up to 400 bytes message
Connection type : UD
local address: LID 0x0b QPN 0x2c004c PSN 0xa1be86
remote address: LID 0x02 QPN 0x74004b PSN 0x6ea837
------------------------------------------------------------------
#bytes #iterations t_min[usec] t_max[usec] t_typical[usec]
2 1000 1.41 4.45 1.43
4 1000 1.41 3.84 1.43
8 1000 1.41 2.75 1.43
16 1000 1.41 3.01 1.42
32 1000 1.49 3.92 1.50
64 1000 1.55 3.96 1.57
128 1000 1.70 2.58 1.71
256 1000 2.41 5.73 2.45
512 1000 2.82 4.07 2.90
1024 1000 3.28 4.95 3.31
2048 1000 4.11 11.74 4.14
------------------------------------------------------------------

  

在client端执行
[ibtests]# ib_send_lat -a -c UD -d mlx4_0 -i 2 10.10.11.8
------------------------------------------------------------------
Send Latency Test
Inline data is used up to 400 bytes message
Connection type : UD
local address: LID 0x02 QPN 0x74004b PSN 0x6ea837
remote address: LID 0x0b QPN 0x2c004c PSN 0xa1be86
------------------------------------------------------------------
#bytes #iterations t_min[usec] t_max[usec] t_typical[usec]
2 1000 1.41 9.97 1.43
4 1000 1.38 5.31 1.43
8 1000 1.41 2.78 1.43
16 1000 1.40 4.01 1.42
32 1000 1.49 3.67 1.50
64 1000 1.55 5.20 1.56
128 1000 1.69 3.13 1.71
256 1000 2.40 5.72 2.45
512 1000 2.83 4.13 2.90
1024 1000 3.28 4.95 3.31
2048 1000 4.11 11.68 4.14
------------------------------------------------------------------

2、其他测试工具

#qperf
#server端执行
[root@server ~]# qperf

#client端执行
[root@client ~]# qperf 172.26.2.41 ud_lat ud_bw rc_rdma_read_bw rc_rdma_write_bw uc_rdma_write_bw tcp_bw tcp_lat udp_bw udp_lat
ud_lat:
latency = 4.41 us
ud_bw:
send_bw = 2.63 GB/sec
recv_bw = 2.63 GB/sec
rc_rdma_read_bw:
bw = 3.31 GB/sec
rc_rdma_write_bw:
bw = 3.41 GB/sec
uc_rdma_write_bw:
send_bw = 3.4 GB/sec
recv_bw = 3.36 GB/sec
tcp_bw:
bw = 2.11 GB/sec
tcp_lat:
latency = 8.56 us
udp_bw:
send_bw = 2.84 GB/sec
recv_bw = 699 MB/sec
udp_lat:
latency = 8.03 us #iperf3
#server端执行
[root@server ~]# iperf3 -s -p 10081 #client端执行
[tpsa@client ~]$ iperf3 -c 172.26.2.41 -t 300 -p 10081

  

3、网络调优

#启用connected模式(默认是datagram模式,datagram模式下网络延时更低,connected模式下网络带宽更高),接口带宽提高一倍左右
echo connected > /sys/class/net/ib0/mode
or
sed -i 's/SET_IPOIB_CM=.*/SET_IPOIB_CM=yes' /etc/infiniband/openib.conf
/etc/init.d/openibd restart
#系统参数调优(centos7)
systemctl status tuned.service #看看是否启用了tuned服务
tuned-adm profile network-throughput #优化网络带宽
tuned-adm profile network-latency #优化网络延时
tuned-adm active #查看当前配置
# 停止irqbalance服务
# systemctl stop irqbalance && systemctl disable irqbalance #查看ib接口与哪个cpu相邻
#numa_num=$(cat /sys/class/net/ib0/device/numa_node) #对ib网卡中断做绑核操作
#/usr/sbin/set_irq_affinity_bynode.sh $numa_num ib0
#[root@server ~]$ rpm -qf /usr/sbin/set_irq_affinity_bynode.sh
mlnx-ofa_kernel-3.3-OFED.3.3.1.0.0.1.gf583963.rhel7u2.x86_64 #验证绑核
#查看ib0使用的中断号
[root@server ~]# ls /sys/class/net/ib0/device/msi_irqs
100 102 104 55 57 59 61 63 65 67 69 71 75 77 79 81 83 85 87 89 91 93 95 97 99
101 103 54 56 58 60 62 64 66 68 70 74 76 78 80 82 84 86 88 90 92 94 96 98 #查看某个中断号的smp_affinity值
[root@server ~]# cat /proc/irq/100/smp_affinity
0000,00001000 #跟默认值对比
[root@server ~]# cat /proc/irq/default_smp_affinity
#也可以通过mellanox提供的工具自动优化
# mlnx_tune -h Usage: mlnx_tune [options] Options: -h, --help show this help message and exit -d, --debug_info dump system debug information without setting a profile -r, --report Report HW/SW status and issues without setting a profile -c, --colored Switch using colored/monochromed status reports. Only applicable with --report -p PROFILE, --profile=PROFILE Set profile and run it. choose from: ['HIGH_THROUGHPUT', 'IP_FORWARDING_MULTI_STREAM_THROUGHPUT', 'IP_FORWARDING_MULTI_STREAM_PACKET_RATE', 'IP_FORWARDING_SINGLE_STREAM', 'IP_FORWARDING_SINGLE_STREAM_0_LOSS', 'IP_FORWARDING_SINGLE_STREAM_SINGLE_PORT', 'LOW_LATENCY_VMA'] -q, --verbosity print debug information to the screen [default False] -v, --version print tool version and exit [default False] -i INFO_FILE_PATH, --info_file_path=INFO_FILE_PATH info_file path. [default %s] #显示当前配置状态 # mlnx_tune -r #开始优化, # mlnx_tune -p HIGH_THROUGHPUT [root@server ~]# rpm -qf `which mlnx_tune`
mlnx-ofa_kernel-3.3-OFED.3.3.1.0.0.1.gf583963.rhel7u2.x86_64

  

3、查看接口信息

[root@gz-cs-gpu-3-8 eden]# ibstat
CA 'mlx4_0'
CA type: MT26428
Number of ports: 1
Firmware version: 2.9.1000
Hardware version: b0
Node GUID: 0x0002c9030059ddda
System image GUID: 0x0002c9030059dddd
Port 1:
State: Active
Physical state: LinkUp
Rate: 40
Base lid: 58
LMC: 0
SM lid: 1
Capability mask: 0x02510868
Port GUID: 0x0002c9030059dddb
Link layer: InfiniBand
[root@gz-cs-gpu-3-8 eden]# ibstatus
Infiniband device 'mlx4_0' port 1 status:
default gid: fe80:0000:0000:0000:0002:c903:0059:dddb
base lid: 0x3a
sm lid: 0x1
state: 4: ACTIVE
phys state: 5: LinkUp
rate: 40 Gb/sec (4X QDR)
link_layer: InfiniBand
InfiniBand Link Signal Pairs  Signaling Rate  Data Rate (Full Duplex) 
1X-SDR 2 2.5 Gbps  2.0 Gbps 
4X-SDR  10 Gbps (4 x 2.5 Gbps)  8 Gbps (4 x 2 Gbps) 
12X-SDR 24  30 Gbps (12 x 2.5 Gbps)  24 Gbps (12 x 2 Gbps) 
1X-DDR  5 Gbps  4.0 Gbps 
4X-DDR  20 Gbps (4 x 5 Gbps)  16 Gbps (4 x 4 Gbps) 
12X-DDR  24  60 Gbps (12 x 5 Gbps)  48 Gbps (12 x 4 Gbps) 
1X-QDR  10 Gbps 8.0 Gbps 
4X-QDR  40 Gbps (4 x 5 Gbps)  32 Gbps (4 x 8 Gbps) 
12XQDDR  24  1200 Gbps (12 x 5 Gbps)  96 Gbps (12 x 8 Gbps) 

Infiniband 网络性能测试的更多相关文章

  1. TCP/UDP网络性能测试工具 - Netperf (zz) ..网络测试工具

    在构建或管理一个网络系统时,我们更多的是关心网络的可用性,即网络是否连通,而对于其整体的性能往往考虑不多. 除了netperf以外.       还有很多其它的网络性能测试工具.       如db, ...

  2. 网络性能测试工具iperf详细使用图文教程

      Iperf是一个网络性能测试工具.Iperf可以测试TCP和UDP带宽质量.Iperf可以测量最大TCP带宽,具有多种参数和UDP特性. Iperf可以报告带宽,延迟抖动和数据包丢失.利用Iper ...

  3. 网络性能测试工具iperf详细使用图文教程【转载】

    原文:http://blog.163.com/hlz_2599/blog/static/142378474201341341339314/ 参考:http://man.linuxde.net/iper ...

  4. 微软Azure云主机及blob存储的网络性能测试

    http://www.cnblogs.com/sennly/p/4137024.html 微软Azure云主机及blob存储的网络性能测试 1. 测试目的 本次测试的目的在于对微软Azure的云主机. ...

  5. 网络性能测试工具Iperf/Jperf解读

    Iperf 是一个网络性能测试工具.Iperf 可以测试TCP 和UDP 带宽质量.Iperf 可以测量最大TCP 带宽,具有多种参数和UDP 特性. Iperf 可以报告带宽,延时抖动和数据包丢失. ...

  6. 网络性能测试工具-Iperf

    一.简单介绍 Iperf是一个网络性能测试工具,Iperf可以测试TCP和UDP带宽质量,Iperf可以测量最大TCP带宽,具有多种参数和UDP特性.Iperf可以报告带宽,延迟抖动和数据包丢失.利用 ...

  7. netperf 网络性能测试

    Netperf是一种网络性能的测量工具,主要针对基于TCP或UDP的传输.Netperf根据应用的不同,可以进行不同模式的网络性能测试,即批量数据传输(bulk data transfer)模式和请求 ...

  8. IPERF 网络性能测试

    Iperf 是一个网络性能测试工具.Iperf可以测试最大TCP和UDP带宽性能.Iperf具有多种参数和UDP特性,可以根据需要调整.Iperf可以报告带宽,延迟抖动和数据包丢失. Iperf 参数 ...

  9. ethr 微软开源的tcp udp http 网络性能测试工具

    ethr 是微软开源的tcp udp http 网络性能测试工具包包含的server 以及 client 我们可以远程测试 同时对于https icmp 的支持也在开发中,tcp 协议支持连接.带宽. ...

随机推荐

  1. Java数据结构和算法 - OverView

    Q: 为什么要学习数据结构与算法? A: 如果说Java语言是自动档轿车,C语言就是手动档吉普.数据结构呢?是变速箱的工作原理.你完全可以不知道变速箱怎样工作,就把自动档的车子从1档开到4档,而且未必 ...

  2. Linux知识要点大全(第一章)

    第一章   Linux操作系统简介 主要内容: 1:Linux的发展历史               2:开源软件               3:Linux系统结构与特性               ...

  3. golang中Context的使用场景

    golang中Context的使用场景 context在Go1.7之后就进入标准库中了.它主要的用处如果用一句话来说,是在于控制goroutine的生命周期.当一个计算任务被goroutine承接了之 ...

  4. Docker系列之基础实践篇(上)

    常用命令回顾 帮助命令 1.启动docker //启动 $ systemctl start docker 2.查看docker版本 $ docker version 3.查看安装的docker信息描述 ...

  5. [开发技巧]·Numpy广播机制的深入理解与应用

    [开发技巧]·Numpy广播机制的深入理解与应用 1.问题描述 我们在使用Numpy进行数据的处理时,经常会用到广播机制来简化操作,例如在所有元素都加上一个数,或者在某些纬度上作相同的操作.广播机制很 ...

  6. Tensorflow之基于LSTM神经网络写唐诗

    最近看了不少关于写诗的博客,在前人的基础上做了一些小的改动,因比较喜欢一次输入很长的开头句,所以让机器人输出压缩为一个开头字生成两个诗句,写五言和七言诗,当然如果你想写更长的诗句是可以继续改动的. 在 ...

  7. Java多线程打辅助的三个小伙子

    前言 之前学多线程的时候没有学习线程的同步工具类(辅助类).ps:当时觉得暂时用不上,认为是挺高深的知识点就没去管了.. 在前几天,朋友发了一篇比较好的Semaphore文章过来,然后在浏览博客的时候 ...

  8. springcloud情操陶冶-bootstrapContext(二)

    承接前文监听器对bootstrapContext创建的引导,笔者了解到其主要入口类为BootstrapImportSelectorConfiguration.本文将基于此类进行简单的分析 Bootst ...

  9. 【憩园】C#并发编程之异步编程(三)

      写在前面 本篇是异步编程系列的第三篇,本来计划第三篇的内容是介绍异步编程中常用的几个方法,但是前两篇写出来后,身边的朋友总是会有其他问题,所以决定再续写一篇,作为异步编程(一)和异步编程(二)的补 ...

  10. 基于“formData批量上传的多种实现” 的多图片预览、上传的多种实现

    前言 图片上传是web项目常见的需求,我基于之前的博客的代码(请戳:formData批量上传的多种实现)里的第三种方法实现多图片的预览.上传,并且支持三种方式添加图片到上传列表:选择图片.复制粘贴图片 ...