天天看點

Infiniband 網絡性能測試

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) 
上一篇: jsonp 原理