eRDMA的能力實現需要基於支援eRDMA能力的執行個體規格,掛載彈性RDMA網卡(ERI),安裝eRDMA驅動,從而實現具有大規模RDMA的網路服務能力,體驗RDMA帶來的超低延遲。
ECS執行個體使能eRDMA
選擇支援eRDMA的執行個體規格
企業級CPU執行個體:請參見支援eRDMA的企業級執行個體規格。
為ECS執行個體綁定ERI
您可以在建立執行個體的時候為主網卡開啟彈性RDMA介面,或者在執行個體建立後為執行個體綁定開啟了彈性RDMA介面的ERI。
購買執行個體時候為網卡開啟彈性RDMA介面
具體操作,請參見隨執行個體建立ERI。
修改ECS執行個體已綁定的彈性網卡屬性,啟用ERI
具體操作,請參見修改已建立彈性網卡的RDMA介面。
通過OpenAPI建立開啟了ERI的輔助彈性網卡並綁定到執行個體
如果您是通過OpenAPI的方式建立並綁定輔助彈性網卡,則操作如下:
通過OpenAPI建立ERI。
您可以通過CreateNetworkInterface 建立一個彈性網卡,並設定NetworkInterfaceTrafficMode參數的值為HighPerformance,即建立一個開啟了ERI的彈性網卡。
調用成功後,請記錄返回資料中產生的彈性網卡ID(即
NetworkInterfaceId
對應的傳回值)。調用AttachNetworkInterface,指定NetworkInterfaceId為上一步返回的網卡ID,指定InstanceId為目標執行個體ID,即將建立的開啟了ERI的彈性網卡綁定到目標執行個體上。
重要如果您的執行個體規格支援綁定多個ERI,為了擷取最大網路頻寬,建議您在綁定時候為每張ERI指定不同的NetworkCardIndex,實現將不同的ERI綁定到不同的通道。詳細資料,請參見請求參數。
為ECS執行個體安裝eRDMA驅動
eRDMA驅動軟體由阿里雲自研,由阿里雲提供支援人員。
eRDMA驅動的安裝可能需要一段時間,請您耐心等待。
驅動程式安裝包
安裝eRDMA驅動
您可以選擇在購買執行個體的時候勾選安裝eRDMA驅動,或者為已購買的支援eRDMA的執行個體手動安裝eRDMA驅動。
企業級CPU執行個體:請參見為企業級執行個體配置eRDMA。
eRDMA核心驅動
完成eRDMA驅動安裝後,您可以通過
eadm ver
,查詢eRDMA的核心驅動版本。目前最新版本1.4.0的安裝程式包,對應的erdma核心驅動版本為0.2.37。
驗證eRDMA配置的正確性
ibv_devinfo
可以協助使用者驗證RDMA功能是否正常工作。通過執行 ibv_devinfo
命令,使用者可以擷取到裝置的硬體屬性、連接埠狀態、支援的功能等資訊。如果RDMA相關組件已經正常運行,至少會有一個連接埠的狀態是 PORT_ACTIVE
,這表明RDMA功能已經啟用並且可以正常使用。詳細資料,請參見測試RDMA 操作。
ibv_devinfo
命令還可以通過 -v
參數來輸出更詳細的裝置資訊,包括裝置的硬體版本、支援的最大訊息大小、隊列數、記憶體視窗大小等。這些資訊對於診斷和最佳化RDMA網路效能非常有用。
您可以通過在執行個體上執行ibv_devinfo
驗證執行個體eRDMA是否配置正確:
eRDMA配置正確:為執行個體的網卡開啟彈性RDMA介面並且已正確安裝eRDMA驅動。
說明如果您的執行個體支援且綁定了多張彈性RDMA網卡,則執行個體的每個eRDMA裝置的連接埠
state
均為PORT_ACTIVE
時,表示eRDMA網卡狀態正常。如果eRDMA裝置的連接埠
state
為invalid state
時,表示該eRDMA網卡狀態異常,建議先檢查輔助網卡是否配置正確。例如,通過執行ifconfig
命令查看所有網卡配置是否存在,所有網卡IP地址是否存在。詳細資料,請參見配置輔助彈性網卡。
執行個體未綁定ERI:執行個體已安裝eRDMA驅動,但是網卡未開啟彈性RDMA介面。您需要為ECS執行個體綁定ERI。
未正確安裝eRDMA所需驅動程式:執行個體網卡開啟彈性RDMA介面,但是未正確安裝eRDMA驅動。您需要為ECS執行個體安裝eRDMA驅動。
您還可以使用diagnose工具對eRDMA的基礎功能進行診斷測試,詳細資料,請參見使用diagnose進行eRDMA的故障診斷和效能評估。
eRDMA網路效能測試
perftest
是一個用於效能測試的工具集,它提供了多種測試選項,可以針對不同的網路操作進行測試,比如發送、接收、讀寫等。perftest允許使用者測量不同RDMA操作的效能,如延遲和頻寬。這些測試通常用於評估RDMA裝置和網路的效能,協助使用者最佳化配置或解決潛在問題。更多資訊,請參見perftest相關文檔。
perftest測試集
perftest包括如下測試,您可以根據實際需求,通過perftest進行網路頻寬測試或網路延遲測試,以評估網路的效能。
RDMA操作 | 頻寬測試程式 | 延遲測試程式 |
Send | ib_send_bw(發送頻寬測試) | ib_send_lat(發送延遲測試) |
RDMA Read | ib_read_bw(讀頻寬測試) | ib_read_lat(讀延遲測試) |
RDMA Write | ib_write_bw(寫頻寬測試) | ib_write_lat(寫延遲測試) |
RDMA Atomic | ib_atomic_bw(原子頻寬測試) | ib_atomic_lat(原子延遲測試) |
Native Ethernet | raw_ethernet_bw(原生乙太網路頻寬測試) | raw_ethernet_lat(原生乙太網路延遲測試) |
安裝perftest
您可以選擇開通公網通過官方倉庫下載並安裝,或者直接通過yum/apt源進行安裝。
通過官方倉庫下載並安裝
為ECS執行個體開通公網,詳細資料,請參見ECS實現公網通訊。
訪問perftest官方倉庫下載並安裝perftest工具。
通過yum/apt源安裝
不同Linux發行版的軟體源中包含的perftest版本可能不一致,在通訊時可能存在相容性問題。建議您通訊的執行個體使用相同的Linux發行版,否則請通過官方倉庫下載並安裝。
Alibaba Cloud Linux 3/CentOS/Anolis OS
sudo yum install perftest -y
Ubuntu
sudo apt install perftest -y
使用perftest樣本
您可以將每一個測試程式作為一個獨立的命令執行,比如ib_send_lat
運行發送延遲測試。
在使用 perftest
進行效能測試時,設定正確的測試參數是非常重要的,通過合理配置這些參數,您可以更精確地控制 perftest
的行為,以滿足特定的測試需求,並擷取更準確的測試結果。以下是一些關鍵的參數設定指南,可以協助您更有效地配置和運行 perftest
。
網路延遲測試:樣本操作,請參見測試執行個體在eRDMA的寫延遲效能。
相關文檔
如果您是在執行個體當中使用容器方式部署您的應用,希望將eRDMA功能引入容器,實現大規模資料轉送和高效能網路通訊,您可以參考在容器(Docker)中使用eRDMA。
您也可以在ACK(Alibaba Cloud Container Service for Kubernetes)叢集中使用eRDMA,可以為運行在叢集上的所有服務和應用提供低延遲、高輸送量的網路通訊能力。具體操作,請參見使用eRDMA加速容器網路。
如需監測或診斷eRDMA,方便您對eRDMA的運行狀態進行即時監控。具體操作,請參見監測和診斷eRDMA。
如需將eRDMA整合到您的TCP應用中,請參見應用適配概述。