基於滴滴雲之 Netperf 網路效能測試工具的搭建及使用

java06051515發表於2018-12-07

1. 介紹 Netperf

網路效能是雲伺服器的重要指標,對網路效能進行準確的測試非常重要。Netperf 是一種可以用來衡量不同型別網路效能的工具,它可以用來測試 PPS(即每秒鐘傳送資料包的數目)、單向吞吐量和端到端延遲。本文給大家簡述如何採用 Netperf 對網路效能進行測試。

2. 安裝 Netperf

2.1 環境準備

  • 測試機

    • 被壓力測試網路 PPS 的 DC2 例項,可以用來作為 Netperf 測試中的 Client 端或者 Server 端

    • 虛擬機器名稱:test_netperf1; 虛擬機器 IP:116.85.255.6。(虛擬機器可以在 滴滴雲 上申請)

  • 陪練機

    • DC2 例項,可以用來作為 Netperf 測試中的 Client 端或者 Server 端,與測試機建立控制連線,傳遞測試配置相關的資訊以及測試結果

    • 虛擬機器名稱:test_netperf2; 虛擬機器 IP:116.85.255.5

2.2 安裝 Netperf

  • 執行下面命令下載 Netperf

  wget   - c   "   - O   netperf - 2.5.0.tar.gz

  • 解壓 Netperf

   tar   - zxvf  netperf - 2.5.0.tar.gz

  • 進入 Netperf目錄

   cd  netperf - 2.5.0.tar.gz

  • 執行以下命令配置檔案,編譯並且安裝

  • 執行以下命令驗證 Netperf 是否安裝成功。如果安裝成功會生成2個工具:NetServer 和 Netperf。

   netperf   - h

  netserver   - h

2.3 開啟多佇列功能

在測試機內開啟多佇列功能(假設需要開啟的網路卡是 eth0),用來提高測試機接收資料包的效能。

  • 執行以下命令開啟多佇列,開啟 3 個佇列

  ethtool   - L   eth0  combined   3

  • 執行以下命令修改每個佇列的引數

3. 使用 Netperf 和 NetServer 測試網路效能

3.1 測試收方向

  • 測試機

    • 測試機內啟動 NetServer 程式,-p 引數用來指定接收資料包的埠號

  netserver   - p   6000

  • 陪練機

    • 陪練機內啟動 Netperf 程式,分別制定到測試機不同的 NetServer 埠

    • netperf -H 引數指定測試機的 IP 地址

    • netperf -p 引數指定測試機的埠號

    • netperf -l 引數指定陪練機向測試傳送資料包的時間

    • netperf -t 引數指定傳送資料包的協議型別為 TCP_STREAM 還是 UDP_STREAM

    • netperf -m 引數指定資料包的位元組大小

  netperf   - H   116.85.255.6   - p   6000   - t   UDP_STREAM   - l   300   --   - m   64

3.2 測試發方向

  • 陪練機

    • 在所有陪練機內各啟動一個 NetServer 程式,-p 指定埠號

   netserver   - p   7000

  • 測試機

    • 測試機內啟動 Netperf 程式,-H 指定為陪練機的 IP 地址

    • 有多少個陪練機,需要在測試機內啟動多少個 Netperf 程式

  netperf   - H   116.85.255.5   - p   6000   - t   UDP_STREAM   - l   300   --   - m   64

3.3 測試結果分析

  • 最終傳送端的每個 Netperf 程式輸出如下結果,以下結果不能代表以上申請測試機的效能,具體效能根據實際測試結果而定

輸出結果各個欄位的含義如下:

欄位名 含義 備註
Socket size(bytes) 緩衝區的大小
Message size(bytes) 資料包的大小
Elapsed Time(secs) 測試時間
Messages Okay(個) 傳送成功的資料包數目
Messages Errors(個) 傳送失敗的資料包數目
Throughtput(10^6bits/sec) 吞吐量
  • PPS

    • PPS 為每秒鐘傳送成功的資料包個數

    • 具體計算方法:PPS = 資料包傳送成功的數目/測試時間

    • 可以在 Server 端用 sar 命令來統計實際收到的資料包,具體命令如下所示,其表示每隔 1 秒統計一次,統計 300 次,sar 命令最後會對 300 次的統計結果求平均

  sar   - n   DEV   1   300

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559758/viewspace-2284261/,如需轉載,請註明出處,否則將追究法律責任。

相關文章