使用 iPerf 测试 Azure VM 之间的网速
點擊上方關注“汪宇杰博客” ^_^
導語
以往提到測網速,大家可能想到的都是用著名的 speedtest 等工具測試互聯網連接速度。但實際上僅僅測試互聯網連接速度并不可靠,在部分應用場景里網速還受到服務器之間的連接速度影響,因此清楚你的網絡性能瓶頸再哪個環節非常關鍵。而 iPerf 是一款專業的網速測試工具,可以用來測試局域網或互聯網上兩臺機器之間的網絡連接速度,讓你更了解每個環節的網絡性能。
測試過程
假設需要測試主機 A 到 B 的連接速度。我們需要在 A、B 兩臺機器上都安裝 iPerf 軟件(最新版叫做 iPerf3)。iPerf 軟件本身不區分客戶端和服務端,它通過不同參數來扮演客戶端或服務端的角色。我們需要在服務器 B 上啟動服務端,在服務器 A 上啟動客戶端,并發起對 B 的連接,以測試網絡速度。
安裝 iPerf3
iPerf3 可以安裝到 Windows 以及大多數主流 Linux 系統中。以 Ubuntu Server 為例,通過 apt 即可安裝 iPerf3:
sudo apt install iperf3
我們需要在服務器 A 和服務器 B 上都安裝 iPerf3。
打開被測端口
我們要測試的是主機 A 到主機 B 的連接速度,數據包從 A 發到 B,因此需要在主機 B 上打開 iPerf3 的端口,以允許連接。
在 Azure 上打開主機 B 的管理界面,進入 "Networking",添加 TCP 5001 及 5201 端口。其中 5001 對應 iperf,5201 對應 iperf3。如果你只用iperf3,也可以只開放 5201 端口。
iPerf 3 的端口也可以通過 -p 參數指定。同樣,指定端口后,也得記得在 Azure 上打開對應的端口。
準備被測主機
在被測主機 B 上運行:
iperf3 -s
-s 參數就是 server 的意思。表示該主機上的 iperf3 扮演服務端角色,在默認端口 5201 上等待連接。
準備客戶端主機
在主機 A 上運行:
iperf3 -c <主機 B IP地址> -p 5201 -t 10
其中,-p 表示指定端口號,不寫即采用默認端口 5201。-t 表示測試時間,我這里指定為10秒。
命令執行后即開始測試,我們可以在主機 A 的輸出中看到每一次請求的數據大小以及網速。并在測試結束后看到平均網速。
此處我的主機 A 為 Azure 中國版(世紀互聯)China East 2 的 VM,主機 B 為 Azure 國際版 East Asia 的 VM。
注意單位是 bits 與 bytes。bits 是位,bytes 是字節。一般寬帶運營商的單位為 Mbps,要除8才能轉換到 MB/s。
在測試的同時,被測主機 B 也會有同樣的數據輸出:
可以發現中國版 Azure 到國際版香港地區的連接速度在 13MB/s 左右。
用同樣的辦法也可以測試同一個數據中心里兩臺 VM 的網速,例如兩臺 Azure 國際版 East Asia 地區的 VM,網速為 1GB/s:
了解更多
iPerf 工具還有更多參數可以靈活應對各種企業場景。可以參考官方文檔:
https://iperf.fr/iperf-doc.php#3doc
汪宇杰博客
Azure | .NET |?微軟 MVP
無廣告,不賣課,做純粹的技術公眾號
喜歡本篇內容請點個在看
總結
以上是生活随笔為你收集整理的使用 iPerf 测试 Azure VM 之间的网速的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用Blazor技术封装G2Plot实现C
- 下一篇: 收购最大K8s服务商,重回独立的SUSE