全部產品
Search
文件中心

Elastic Compute Service:監測和診斷eRDMA

更新時間:Jul 16, 2026

對eRDMA進行監測和診斷可以協助您及時發現和解決問題,確保系統安全,並有效管理和最佳化系統資源。本文主要介紹幾種可用於eRDMA監測的工具和方法,以便您對eRDMA的運行狀態進行監控。

前提條件

待監測執行個體已安裝和部署eRDMA。具體操作,請參見ECS執行個體啟用eRDMA

使用CloudMonitor監測eRDMA的運行狀態

您可以通過阿里雲的CloudMonitor產品來監測eRDMA的運行狀態,您也可以根據自己的監控需求對相應的監控資料進行加工、監控或者警示。詳細資料,請參見自訂監控

查看eRDMA支援的監控指標項

  1. 登入CloudMonitor控制台

  2. 在指標列表搜尋方塊中輸入eri,可以篩選出當前eRDMA支援的監控指標。

    篩選結果包含以下 5 個 eRDMA 監控指標(指標類型均為 erdma,Dimensions 為 userId,instanceId,Statistics 為 Value,MinPeriods 為 60s,均支援設定警示):

    • eri_active_qp_num:執行個體 ERI 維度串連數,單位 count

    • rx_eri_bw_bps:執行個體 ERI 維度流入頻寬,單位 bit/s

    • rx_eri_pkt_pps:執行個體 ERI 維度流入資料包 PPS,單位 count/s

    • tx_eri_bw_bps:執行個體 ERI 維度流出頻寬,單位 bit/s

    • tx_eri_pkt_pps:執行個體 ERI 維度流出資料包 PPS,單位 count/s

使用eadm工具進行eRDMA故障診斷和排查

eadm是eRDMA驅動程式預設自動部署的一個使用者態的管理工具,無需手動安裝,它是自研的ECS內部的診斷與即時監測工具,便於在遇到故障時快速進行定位。eadm工具的主要功能包括:

  • 流量監控問題輔助診斷等功能:整個裝置的即時資料流量統計功能。

  • 配置的查詢與設定功能:包括delay ack功能的配置、擁塞控制演算法CC(Congestion Control)的配置等。

以下主要針對eadm工具常見的命令做說明,其他命令可以參考eadm工具的使用協助(通過eadm -h命令擷取協助)。

警告

本工具僅用於診斷與調試,工具未來可能發生變化,並不保證命令在任何情況/情境下均可用。

  • 查看eadm命令的協助資訊

    eadm -h
    [root@xxx ~]# eadm -h
    Usage: eadm OBJECT { COMMAND | help }
    where  OBJECT := { dump stat info ver conf help }
  • 即時監測eRDMA裝置的即時資料流量資訊

    eRDMA裝置的驅動版本在0.2.34及以後,均支援流量的監控統計功能。

    eadm stat -d <ibdev_name> -l

    其中<ibdev_name>是指待查詢的eRDMA裝置名稱(通過ibv_devinfo命令查詢),您需要根據實際環境替換。如果環境中僅有一個eRDMA裝置,-d <ibdev_name>參數可省略。

    [root@xxx         xxx ~]# ibv_devinfo
    hca_id: erdma_0
            transport:                  eRDMA (1)
            fw_ver:                     0.2.0
            node_guid:                  0216:3eff:fe13:1914
            sys_image_guid:             0216:3eff:fe13:1914
            vendor_id:                  0x1ded
            vendor_part_id:             4223
            hw_ver:                     0x0
            phys_port_cnt:              1
                port: 1
                    state:              PORT_ACTIVE (4)
                    max_mtu:            4096 (5)
                    active_mtu:         4096 (5)
                    sm_lid:             0
                    port_lid:           0
                    port_lmc:           0x00
                    link_layer:         Ethernet
    
    [root@xxx         xxx ~]# eadm stat -d erdma_0 -l
    Monitoring erdma_0...    (press CTRL-C to stop)
    
    14:07:57  rx:    218.46 MiB/s 1000313 p/s        tx:    218.46 MiB/s 1000315 p/s
  • 擷取eRDMA裝置的統計資訊(例如cm和verebs訊息的計數、流量計數等)

    eadm stat -d <ibdev_name>

    其中<ibdev_name>是指待查詢的eRDMA裝置名稱(通過ibv_devinfo命令查詢),您需要根據實際環境替換。如果環境中僅有一個eRDMA裝置,-d <ibdev_name>參數可省略。

    [root@ixxxxxxZ ~]# eadm stat -d erdma_0
    return cnts:55
    listen_create_cnt : 1
    listen_ipv6_cnt : 0
    listen_success_cnt : 1
    listen_failed_cnt : 0
    listen_destroy_cnt : 0
    accept_total_cnt : 300
    accept_success_cnt : 300
    accept_failed_cnt : 0
    reject_cnt : 0
    reject_failed_cnt : 0
    connect_total_cnt : 300
    connect_success_cnt : 300
    connect_failed_cnt : 0
    connect_timeout_cnt : 0
    connect_reset_cnt : 0
    cmdq_submitted_cnt : 266
    cmdq_comp_cnt : 266
    cmdq_eq_notify_cnt : 263
    cmdq_eq_event_cnt : 0
  • 擷取當前eRDMA驅動的版本資訊

    eadm ver
說明

其餘命令,例如infodumpconf等,會有使用方面的約束限制,不建議您自行使用。

使用iproute2監控和診斷eRDMA

iproute2是一套用於配置和管理Linux網路的工具集,它提供了一系列的命令列工具(如ip、ss等),用於網路介面、路由表和流量控制等方面的管理和配置,還可以協助管理員快速定位和解決網路連接問題,其內建的rdma命令可以對RDMA子系統做一些相應的監控和診斷。

說明

大多數Linux發行版在較新的版本中通常已預設安裝iproute2,如Alibaba Cloud Linux 3、Ubuntu20及以上等,具體情況請參閱相應作業系統官方文檔。

  • 查詢當前eRDMA裝置的狀態資訊

    rdma link
  • 查詢eRDMA裝置當前資源使用方式(如CQ數、QP數、MR數等)

    說明

    在RDMA網路通訊中,QP(Queue Pair)、CQ(Completion Queue)、MR(Memory Region)和verbs Opcode是幾個核心的組件,它們在RDMA通訊中扮演著重要的角色,共同確保了RDMA網路通訊的高效性和低延遲性。

    詳細資料,請參見彈性RDMA的基礎能力和規格

    rdma res
    [root@xxx log]# rdma res
    1: erdma_0: pd 12 cq 2 qp 200 cm_id 201 mr 301 ctx 2
  • 查詢eRDMA裝置的效能統計資訊(例如串連次數、串連狀態、發送/接收的資料包數量等)

    rdma -p stat
    [root@xxx log]# rdma -p stat link erdma_0/1
    link erdma_0/1
         listen_create_cnt 1
         listen_ipv6_cnt 0
         listen_success_cnt 1
         listen_failed_cnt 0
         listen_destroy_cnt 0
         accept_total_cnt 500
         accept_success_cnt 500
         accept_failed_cnt 0
         reject_cnt 0
         reject_failed_cnt 0
         connect_total_cnt 500
         connect_success_cnt 500
         connect_failed_cnt 0
         connect_timeout_cnt 0
         connect_reset_cnt 0
         cmdq_submitted_cnt 6344
         cmdq_comp_cnt 6344
         cmdq_eq_notify_cnt 5453
         cmdq_eq_event_cnt 0
         cmdq_cq_armed_cnt 5454
       erdma_aeq_event_cnt 0

使用diagnose進行eRDMA的故障診斷和效能評估

diagnose診斷工具支援eRDMA基礎功能檢測、eRDMA HPC環境檢測和eRDMA基礎延遲檢測,可以協助您更好地使用eRDMA。

diagnose檢測可能存在以下幾種結果

  • PASS:通過當前檢測。

  • SKIP:當前系統版本不支援該檢測,跳過該檢測。

  • FAIL:相應偵查工具未安裝或檢測失敗,檢測命令會在fail info中列出。

  • 其他INFO資訊:eRDMA相關配置資訊,如安裝模式、驅動版本以及CC演算法等。

安裝diagnose

在已配置eRDMA的執行個體上,執行以下命令,擷取diagnose工具。

  • 從內網地址擷取

    wget http://mirrors.cloud.aliyuncs.com/erdma/tools/diagnose.py
  • 從公網地址擷取

    wget https://mirrors.aliyun.com/erdma/tools/diagnose.py

diagnose工具使用方法

python diagnose.py -h

[root@xxx                ~]# python diagnose.py -h
usage: diagnose.py [-h] [-d] [-D DIAGNOSES [DIAGNOSES ...]] [--debug]
                   [-H HOSTS [HOSTS ...]] [-p] [-P PERFTESTS [PERFTESTS ...]]
                   [-k KEY_FILE] [-s MESSAGE_SIZE] [-u USER] [-i ITERATIONS]
                   [--hpc-check] [--hpc-checks HPC_CHECKS [HPC_CHECKS ...]]

optional arguments:
  -h, --help            show this help message and exit
  -d, --diagnose        run all erdma basic diagnoses
  -D DIAGNOSES [DIAGNOSES ...], --diagnoses DIAGNOSES [DIAGNOSES ...]
                        list all basic diagnoses you want to run, separated by
                        space. Choices are: erdma device erdma installed erdma
                        loaded ibverbs loaded erdma tools hca detected hca
                        active erdma stats network config erdma dmesg atomic
                        support go-back-n support erdma install mode kernel
                        driver version rdma-core version cc algorithm
  --debug               print more detailed debug information
  -H HOSTS [HOSTS ...], --hosts HOSTS [HOSTS ...]
                        host list to run perftest, separated by space
  -p, --perftest        run all performance tests
  -P PERFTESTS [PERFTESTS ...], --perftests PERFTESTS [PERFTESTS ...]
                        list all perftests you want to run, separated by
                        space. Choices are: send_lat read_lat write_lat
  -k KEY_FILE, --key-file KEY_FILE
                        private key file path
  -s MESSAGE_SIZE, --message-size MESSAGE_SIZE
                        message size for perftest
  -u USER, --user USER  username for ssh connection
  -i ITERATIONS, --iterations ITERATIONS
                        iterations for perftest
  --hpc-check           check erdma related hpc configuration
  --hpc-checks HPC_CHECKS [HPC_CHECKS ...]
                        list all hpc diagnoses you want to run, separated by
                        space. Choices are: cc algorithm go-back-n support
                        delay-ack disable port dapl1 dapl2

eRDMA基礎功能診斷

您可以通過diagnose進行eRDMA的基礎功能診斷測試,包括驅動是否正確安裝、網路連通性是否正常、eRDMA核心驅動的安裝模式等,以確保 eRDMA 功能可以正常運行並發揮其高輸送量和低延遲的優勢。

eRDMA基礎功能診斷項說明

檢測項

說明

期望輸出

異常輸出及解決方案

erdma device

eRDMA裝置是否存在

PASS

FAIL:可能是您在購買執行個體時,沒有選擇為執行個體主網卡開啟RDMA或者沒有為執行個體綁定開啟RDMA介面的輔助彈性網卡。詳細資料,請參見ECS執行個體啟用eRDMA

erdma installed

是否正確安裝eRDMA驅動

PASS

FAIL未正確安裝驅動。請確認您在配置eRDMA過程中的驅動安裝步驟是否正確,或者嘗試重新安裝驅動。具體操作,請參見步驟二:為ECS執行個體安裝eRDMA驅動

erdma loaded

是否正確載入eRDMA驅動

PASS

FAIL未正確載入驅動,可能發生在安裝完驅動但是尚未重啟主機的階段。請嘗試通過modprobe erdma命令解決該問題。

ibverbs loaded

是否正確載入ib_verbs驅動

PASS

FAIL請嘗試通過modprobe ib_uverbs命令解決該問題。

erdma tools

檢測eRDMA相關工具是否安裝

PASS

FAIL通過eadm|rdma|ibv_devinfo命令判斷哪些工具缺失,這些工具通常會隨eRDMA驅動一同安裝,請確認您在配置eRDMA過程中的驅動安裝步驟是否正確,或者嘗試重新安裝驅動。具體操作,請參見步驟二:為ECS執行個體安裝eRDMA驅動

hca detected

使用者態驅動是否正確檢測eRDMA裝置

PASS

FAIL該問題是由於erdma deviceerdma installederdma loadedibverbs loaded檢測項未滿足導致,請確認eRDMA驅動已安裝並正確載入。

hca active

eRDMA裝置對應的彈性網卡狀態是否正常

PASS

FAIL該問題是由於eRDMA裝置對應的ENI裝置沒有變為UP狀態。這種情況可能出現在某些較舊版本的核心中,需要先通過dhclient -v ethx命令將對應的eth裝置啟用後,再檢查eRDMA裝置是否處於ACTIVE狀態。具體操作,請參見驗證eRDMA配置的正確性

erdma stats

eRDMA裝置是否存在錯誤計數

PASS

  • SKIP:可能是因為作業系統不支援rdma stat命令。

  • FAIL:可能是出現了某些錯誤的計數。在尋求支援人員時,建議帶上rdma -p stat命令的輸出結果。

network config

網路連通性是否正常

PASS

FAIL:一般是由於當前有多個網卡的IP地址在同一個子網內,會導致某些情境下eRDMA功能異常。

erdma dmesg

是否存在eRDMA相關核心警示

PASS

FAIL:核心出現eRDMA相關警示。您可以檢查相關的警示錯誤,並嘗試重新載入驅動解決。

atomic support

eRDMA裝置是否支援RDMA ATOMIC操作

PASS

FAIL:當前eRDMA裝置不支援RDMA ATOMIC操作。如您不需要使用RDMA ATOMIC操作,請忽略該報錯。

說明

ATOMIC操作指的是一種對記憶體進行原子層級操作的功能,它可以保證操作的完整性和一致性,僅適用於部分應用情境。如果您不需要使用,請忽略相關報錯。

go-back-n support

eRDMA裝置是否支援Go-back-N功能

PASS

  • SKIP:可能是當前eRDMA裝置不支援查詢Go-back-N配置資訊。

  • FAIL:可能是未正確安裝eadm工具或當前eRDMA裝置不支援Go-back-N功能。

說明

Go-back-N為eRDMA擴充功能,僅適用於部分應用情境。如果您不需要使用,請忽略相關報錯。

erdma install mode

eRDMA核心驅動安裝模式

  • Standard:標準模式,僅支援RDMA_CM建鏈。

    重要

    目前支援eRDMA的CPU執行個體規格,預設eRDMA核心驅動安裝模式為Standard,此模式下僅支援RDMA_CM建鏈。

  • Compat:相容模式,支援RDMA_CM和OOB建鏈。

    重要

FAIL:未查詢到eRDMA核心驅動安裝模式,該問題可能是由於前述erdma loaded檢測項未滿足導致,請嘗試重新安裝eRDMA驅動。具體操作,請參見步驟二:為ECS執行個體安裝eRDMA驅動

kernel driver version

eRDMA核心驅動版本

eRDMA當前的核心驅動版本,例如0.2.37

FAIL:未查詢到eRDMA核心態驅動版本。可能是由於erdma loadederdma tools檢測項未滿足導致,請確認eRDMA驅動已安裝並正確載入。具體操作,請參見驗證eRDMA配置的正確性

rdma-core version

eRDMA使用者態驅動版本

eRDMA使用者態驅動版本,例如44.1-2

FAIL:未查詢到eRDMA使用者態驅動版本。可能是未正確安裝eRDMA使用者態驅動,請嘗試重新安裝eRDMA驅動。具體操作,請參見步驟二:為ECS執行個體安裝eRDMA驅動

cc algorithm

eRDMA當前使用的CC演算法

eRDMA CC演算法,例如hpcc_rtt

FAIL:未查詢到當前eRDMA CC演算法。可能是由於erdma loadederdma tools檢測項未滿足導致,請確認eRDMA驅動已安裝並正確載入。

具體操作如下所示:

  1. 遠程登入已配置eRDMA的執行個體。

    具體操作,請參見使用Workbench登入Linux執行個體

  2. 執行以下命令,擷取diagnose工具。

    • 從內網地址擷取

      wget http://mirrors.cloud.aliyuncs.com/erdma/tools/diagnose.py
    • 從公網地址擷取

      wget https://mirrors.aliyun.com/erdma/tools/diagnose.py
  3. 執行以下命令,檢測eRDMA基礎功能。

    python diagnose.py -d

    結果如下所示,可以看到本樣本中測試項結果。關於診斷項說明,請參見eRDMA基礎功能診斷項說明

    [root@jxxx            ~]# python diagnose.py -d
    [INFO] Begin to run erdma basic diagnoses. It's better to ensure that erdma driver and related tools, e.g. eadm, ibv_devinfo, rdma, have been installed.
    [INFO] The diagnose results mean:
    [INFO] PASS: pass the test or meet the requirement.
    [INFO] SKIP: encounter some problems when running the diagnose.
    [INFO] FAIL: test failed or requirements are not met.
    [INFO] XXXX: the erdma-related information, e.g. erdma driver version, cc algorithm.
            Name                Result                          Desc                                                    fail info
    ------------------------------------------------------------------------------------------------------------------------------
         erdma device           PASS        erdma pci device is present
       erdma installed          PASS        erdma module has been installed
         erdma loaded           PASS        erdma module has been loaded
        ibverbs loaded          PASS        ib_uverbs module has been loaded
          erdma tools           PASS        eadm|rdma|ibv_devinfo tools have been installed
         hca detected           PASS        IB device exist
          hca active            PASS        status is PORT_ACTIVE
          erdma stats           PASS        no failed counter
        network config          PASS        network configuration seems ok
          erdma dmesg           PASS        no concerning error logs detected
        atomic support          PASS        atomic capacity support
      go-back-n support         FAIL        Go-back-N capacity support                    CHCK FAILED [eadm info -t ext_attr -d erdma_0 | grep -w attr_mask | awk '{print $2}']
      erdma install mode      Standard      erdma installation mode
    kernel driver version      0.2.37       erdma kernel driver version
      rdma-core version        44.1-2       rdma-core version
         cc algorithm          hpcc_rtt     current cc algorithm

eRDMA HPC環境診斷

如果您需要在eRDMA的環境下運行HPC應用,您可能需要安裝一些額外的依賴和配置,diagnose工具提供eRDMA HPC環境依賴項檢測功能。

eRDMA HPC環境檢測依賴項說明

當前eRDMA HPC環境依賴項檢測主要包括當前eRDMA使用的CC演算法、是否開啟Go-back-N、DAPL 1.0和DAPL 2.0相關檢測。如您不需要使用相關依賴項,請忽略相關報錯,比如您只需要使用DAPL 2.0,那麼請忽略DAPL 1.0相關報錯。

檢測項

說明

期望輸出

異常輸出及解決方式

cc algorithm

eRDMA當前使用的CC演算法

eRDMA CC演算法,例如hpcc_rtt

FAIL:未查詢到當前eRDMA CC演算法,可能是未正確安裝eadm工具或當前eadm工具不支援查詢eRDMA CC演算法。

go-back-n support

eRDMA裝置是否支援Go-back-N功能

PASS

  • SKIP:可能是當前eRDMA裝置不支援查詢Go-back-N配置資訊。

  • FAIL:可能是未正確安裝eadm工具或當前eRDMA裝置不支援Go-back-N功能。

該特性缺失可能會對HPC類型應用產生影響。如您不需要,請忽略該報錯。

dapl1 install

是否正確安裝dapl1

PASS

FAIL:dapl1相關共用庫或設定檔不存在,請檢查當前dapl1是否正確安裝。如果您不需要dapl1,請忽略該報錯。

dapl1 config

是否在dapl1設定檔中配置eRDMA

PASS

FAIL:未在dapl1設定檔中檢測到eRDMA相關配置,請檢查當前dapl1設定檔並加入eRDMA相關配置。如果您不需要dapl1,請忽略該報錯。

dapl2 install

是否正確安裝dapl2

PASS

FAIL:dapl2相關共用庫或設定檔不存在,請檢查當前dapl2是否正確安裝。如果您不需要dapl2,請忽略該報錯。

dapl2 config

是否在dapl2設定檔中配置eRDMA

PASS

FAIL:未在dapl2設定檔中檢測到eRDMA相關配置,請檢查當前dapl2設定檔並加入eRDMA相關配置。如果您不需要dapl2,請忽略該報錯。

dapl2 test

是否正常運行dapl2 dtest

PASS

FAIL:運行dtest失敗,可能是未正確安裝或配置dapl2。

具體操作如下所示:

  1. 遠程登入已配置eRDMA的執行個體。

    具體操作,請參見使用Workbench登入Linux執行個體

  2. 執行以下命令,擷取diagnose工具。

    • 從內網地址擷取

      wget http://mirrors.cloud.aliyuncs.com/erdma/tools/diagnose.py
    • 從公網地址擷取

      wget https://mirrors.aliyun.com/erdma/tools/diagnose.py
  3. 執行如下命令,檢測eRDMA HPC環境依賴項。

    python diagnose.py --hpc-check

    正常情況下,執行上述檢測命令的輸出結果如下。關於診斷項說明,請參見eRDMA HPC環境檢測依賴項說明

    ecs-user@xxx ~$ python diagnose.py --hpc-check
    [INFO] Begin to run hpc related diagnoses for erdma. If the missing dependencies are not required, please ignore them.
    [INFO] The diagnose results mean:
    [INFO] PASS: pass the test or meet the requirement.
    [INFO] SKIP: encounter some problems when running the diagnose.
    [INFO] FAIL: test failed or requirements are not met.
    [INFO] XXXX: the erdma-related information, e.g. erdma driver version, cc algorithm.
            Name                Result              Desc                                          fail info
    ----------------------------  -------------------  -------------------------------------------------------  -------------------
        cc algorithm              cubic               current cc algorithm
      go-back-n support           PASS                Go-back-N capacity support
        dapl1 install             FAIL                dapl1 installation check                     CHCK FAILED [ls /etc/rdma/compat-dapl/dat.conf && ls /usr/lib64/libdaplcma.so.1.0.2]
        dapl2 install             PASS                dapl2 installation check
        dapl2 config              PASS                dapl2 erdma configuration check
        dapl2 test                PASS                dapl2 dtest result

eRDMA網路效能評估

您可以使用diagnose的perftest功能進行不同執行個體之間的網路效能測試。

  • 前提條件

    在執行檢測之前,您需要確保:

    • 已在所有待檢測節點上正確安裝和部署eRDMA。具體操作,請參見ECS執行個體啟用eRDMA

    • 已配置所有待檢測節點之間可通過SSH免密串連。具體操作,請參見配置SSH免密登入

    • 已在所有待檢測節點上安裝Python paramiko依賴包。

      說明
      • diagnose利用paramiko實現遠端連線。

      • 您可以參考如下命令安裝Python paramiko依賴包。如果您對Python版本沒有要求,推薦您預設使用Python3以減少配置工作量。

      Alibaba Cloud Linux/Centos

      # python3
      sudo python3 -m pip install --upgrade pip
      sudo python3 -m pip install paramiko 
      # python2
      # 如果當前python2未安裝pip模組,請安裝python2-pip
      sudo yum -y install python2-pip
      sudo python2 -m pip install --upgrade pip==20.3.4
      sudo python2 -m pip install paramiko 

      Ubuntu

      # python3
      sudo python3 -m pip install --upgrade pip
      sudo python3 -m pip install paramiko
      # python2
      # 如果當前節點未安裝python2-pip
      sudo apt install software-properties-common
      sudo add-apt-repository universe
      sudo apt update
      sudo apt install python2
      sudo curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py
      sudo python2 get-pip.py
      sudo python2 -m pip install --upgrade pip==20.3.4
      sudo python2 -m pip install paramiko
  • 樣本操作

    1. 遠程登入已配置eRDMA的執行個體。

      具體操作,請參見使用Workbench登入Linux執行個體

    2. 執行以下命令,擷取diagnose工具。

      • 從內網地址擷取

        wget http://mirrors.cloud.aliyuncs.com/erdma/tools/diagnose.py
      • 從公網地址擷取

        wget https://mirrors.aliyun.com/erdma/tools/diagnose.py
    3. 執行如下命令,進行eRDMA延遲檢測。

      python diagnose.py --perftest --hosts <n1> <n2> --user <username> --key-file </path/to/private_key>

      各參數說明如下:

      • --hosts <n1> <n2>:待檢測的各節點,彼此之間通過空格分隔。您需要將<n1> <n2>替換為檢測節點上的eRDMA彈性網卡對應的私人IP地址。

      • --user <username>:SSH免密登入使用者名稱,請根據實際環境替換。

      • --key-file </path/to/private_key>:SSH免密登入所使用的私密金鑰檔案路徑(絕對路徑),請根據實際環境替換。

      檢測結果樣本如下,顯示了兩台執行個體之間的網路延遲測試。詳細資料,請參見eRDMA網路效能測試

      每個表格展示了不同操作下的延遲情況。表格中的行代表發起請求的一方,列代表響應請求的一方。每個儲存格內的數值表示平均延遲(單位為微秒),括弧內是第99.9百分位的延遲時間。

      [ecs-xxx                ~]$ python diagnose.py --perftest --hosts 172.17.0.87 172.17.0.86 --user ecs-user --key-file /home/ecs-user/.ssh/id_rsa
      /usr/local/lib/python3.6/site-packages/paramiko/transport.py:32: CryptographyDeprecationWarning: Python 3.6 is no longer supported by the Python core team.
      or Python 3.6.
        from cryptography.hazmat.backends import default_backend
      INFO:paramiko.transport:Connected (version 2.0, client OpenSSH_8.0)
      INFO:paramiko.transport:Authentication (publickey) successful!
      INFO:paramiko.transport:Connected (version 2.0, client OpenSSH_8.0)
      INFO:paramiko.transport:Authentication (publickey) successful!
      [INFO] Begin to run perftest, the results will be shown in table.
      [INFO] In each table, the line represents client while the column represents server.
      [INFO] Each table cell shows the average latency and p999 latency(in the bracket).
      [INFO] Current perftest configuration:
      [INFO] tests: send_lat read_lat write_lat message_size: 2 iterations: 10000
      ----------------------------------------------------------------------
      |            ib_send_lat latency table(us)                           |
      ----------------------------------------------------------------------
      |               |    172.17.0.87    |    172.17.0.86                 |
      ----------------------------------------------------------------------
      |  172.17.0.87  |   14.60(87.53)    |   14.29(25.25)                 |
      ----------------------------------------------------------------------
      |  172.17.0.86  |   14.35(51.63)    |    8.31(21.09)                 |
      ----------------------------------------------------------------------
      
      ----------------------------------------------------------------------
      |            ib_read_lat latency table(us)                           |
      ----------------------------------------------------------------------
      |               |    172.17.0.87    |    172.17.0.86                 |
      ----------------------------------------------------------------------
      |  172.17.0.87  |   24.28(51.43)    |   27.57(57.42)                 |
      ----------------------------------------------------------------------
      |  172.17.0.86  |   27.43(41.14)    |   13.88(49.83)                 |
      ----------------------------------------------------------------------
      
      ----------------------------------------------------------------------
      |            ib_write_lat latency table(us)                          |
      ----------------------------------------------------------------------
      |               |    172.17.0.87    |    172.17.0.86                 |
      ----------------------------------------------------------------------
      |  172.17.0.87  |  183.71(25003.59) |   12.76(27.00)                 |
      ----------------------------------------------------------------------
      |  172.17.0.86  |   12.80(26.05)    |    6.41(13.75)                 |
      ----------------------------------------------------------------------