使用 NTTTCP 測試 VM 網路輸送量
本文描述如何使用 Microsoft 的免費 NTTTCP 工具,在 Azure Windows 或 Linux 虛擬機器 (VM) 上測試網路頻寬和輸送量效能。 NTTTCP 之類的工具會以網路為目標進行測試,並將可能會影響效能的其他資源使用降至最低。
必要條件
- 具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶。
- Azure 中的兩部 Windows 或 Linux 虛擬機器。 建立 Windows VM 或建立 Linux VM。
注意
您可以使用虛擬 IP 進行測試,但此方式不在本文的範圍內。
本文中使用的範例
設定 | 值 |
---|---|
接收者 VM IP 位址 | 10.0.0.5 |
VM 核心數目 | 2 |
使用 Windows VM 或 Linux VM 測試輸送量
您可以使用 NTTTCP 測試來自 Windows VM 的輸送量或使用 NTTTCP-for-Linux 測試來自 Linux VM 的輸送量。
準備 VM 並安裝 NTTTCP-for-Windows
在傳送者和接收者 VM 上,將最新版本的 NTTTCP 下載到個別的資料夾,例如 c:\tools。
開啟 Windows 命令列,並瀏覽至您下載 ntttcp.exe 的資料夾。
在接收者 VM 上,建立 Windows 防火牆
allow
規則,以允許 NTTTCP 流量到達。 依名稱允許 nttcp.exe 比允許特定輸入 TCP 連接埠更容易。 執行下列命令,將c:\tools
取代為您的 ntttcp.exe 下載路徑 (如果不同)。netsh advfirewall firewall add rule program=c:\tools\ntttcp.exe name="ntttcp" protocol=any dir=in action=allow enable=yes profile=ANY
若要確認您的設定,請使用下列命令,在接收者和傳送者虛擬機器上測試單一傳輸控制通訊協定 (TCP) 資料流 10 秒:
接收者 VM
ntttcp -r -m [<number of VM cores> x 2],*,<receiver IP address> -t 10 -P 1
ntttcp -r -m 4,*,10.0.0.5 -t 10 -P 1
傳送者 VM
ntttcp -s -m [<number of VM cores> x 2],*,<receiver IP address> -t 10 -P 1
ntttcp -s -m 4,*,10.0.0.5 -t 10 -P 1
注意
僅使用上述命令來測試設定。
提示
當您第一次執行測試以驗證設定時,請使用簡短的測試持續時間來取得快速的回饋。 驗證工具如預期般運作之後,請將測試期間延長到 300 秒以獲得最精確的結果。
執行輸送量測試
在傳送者和接收者 VM 上執行測試 300 秒或五分鐘。 傳送端和接收端必須為 -t
參數指定相同的測試持續時間。
在接收者 VM 上,執行下列命令,並以您自己的值取代
<number of VM cores>
和<receiver IP address>
預留位置。ntttcp -r -m [<number of VM cores> x 2],*,<receiver IP address> -t 300
ntttcp -r -m 4,*,10.0.0.5 -t 300
在傳送者 VM 上,執行下列命令。 傳送者和接收者命令的差別只在於指定傳送者或接收者 VM 的
-s
或-r
參數。ntttcp -s -m [<number of VM cores> x 2],*,<receiver IP address> -t 300
ntttcp -s -m 4,*,10.0.0.5 -t 300
等候結果。
測試完成時,輸出應該類似下列範例:
C:\tools>ntttcp -s -m 4,*,10.0.0.5 -t 300
Copyright Version 5.39
Network activity progressing...
Thread Time(s) Throughput(KB/s) Avg B / Compl
====== ======= ================ =============
0 300.006 29617.328 65536.000
1 300.006 29267.468 65536.000
2 300.006 28978.834 65536.000
3 300.006 29016.806 65536.000
##### Totals: #####
Bytes(MEG) realtime(s) Avg Frame Size Throughput(MB/s)
================ =========== ============== ================
34243.000000 300.005 1417.829 114.141
Throughput(Buffers/s) Cycles/Byte Buffers
===================== =========== =============
1826.262 7.036 547888.000
DPCs(count/s) Pkts(num/DPC) Intr(count/s) Pkts(num/intr)
============= ============= =============== ==============
4218.744 1.708 6055.769 1.190
Packets Sent Packets Received Retransmits Errors Avg. CPU %
============ ================ =========== ====== ==========
25324915 2161992 60412 0 15.075
測試 Windows VM 與 Linux VM 之間的輸送量
若要在 Windows VM 與 Linux VM 之間執行 NTTTCP 輸送量測試,請在 Windows 上使用 -ns
旗標或在 Linux 上使用 -N
旗標來啟用無同步模式。
若要使用 Windows VM 做為接收者進行測試,請執行下列命令:
ntttcp -r -m [<number of VM cores> x 2],*,<Linux VM IP address> -t 300
若要使用 Windows VM 做為傳送者進行測試,請執行下列命令:
ntttcp -s -m [<number of VM cores> x 2],*,<Linux VM IP address> -ns -t 300