尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️
Ethr
Ethr是一個用golang編寫的跨平台網路性能測量工具。該項目的目標是提供本機工具,用於跨多種協議(如TCP,UDP,HTTP,HTTPS和跨多個平台)對帶寬,連接,數據包,延遲,丟失進行全面的網路性能測量。
Ethr從現有的開源網路性能工具中獲取靈感,並以這些想法為基礎。對於帶寬測量,它類似於iPerf3,用於TCP和UDP流量。 iPerf3有更多選項可用於執行限制測試,更豐富的功能集,而Ethr支持多線程,允許它擴展到1024甚至更高數量的連接,多個客戶端與單個服務器通信等。用於延遲測量,它類似於Windows上的latte或Linux上的sockperf。與其他工具相比,Ethr提供了更多的測試測量,例如它在單個工具中提供帶寬,連接,數據包,延遲和TCP連接設置延遲的測量。在未來,計劃增加更多功能(希望其他人貢獻)以及更多協議支持,使其成為網路性能測量的綜合工具。與通過像cygwin這樣可能限制功能的抽象層進行編譯相比,由於golang,Ethr本身就是跨平台的。它希望通過結合iPerf3,ntttcp,psping,sockperf和latte等工具的功能統一性能測量,並提供跨多個平台和多種協議的單一工具。
下載 For Windows 10: https://github.com/Microsoft/Ethr/files/2640289/ethr.zip For Ubuntu: https://github.com/Microsoft/Ethr/files/2640288/ethr.gz For ArchLinux: https://aur.archlinux.org/packages/ethr 安裝
注意:需要從源代碼構建版本1.10或更高版本。
從源碼安裝 git clone https://github.com/Microsoft/ethr.git cd ethr dep ensure -v go build Docker docker build -t microsoft/ethr . Linux
docker run -e GOOS=linux -v $(pwd):/out microsoft/ethr make build-docker
Windows
docker run -e BINARY_NAME=ethr.exe -e GOOS=windows -v $(pwd):/out microsoft/ethr make build-docker
OSX
docker run -e BINARY_NAME=ethr -e GOOS=darwin -v $(pwd):/out microsoft/ethr make build-docker
go get用法
go get github.com/Microsoft/ethr
ArchLinux安裝
如果你使用 yay (https://github.com/Jguer/yay):yay -S ethr
用法 簡單用法
幫助:ethr -h服務器:
ethr -s
帶文本UI的服務器:
ethr -s -ui
客戶端:
ethr -c
例:
// 開始服務 ethr -s // 使用1個線程啟動客戶端以進行默認(帶寬)測試測量 ethr -c localhost // 使用64個線程啟動連接/測試 ethr -c localhost -t c -n 64 完整的命令行
常用參數:
-h 幫助 -no 禁用日志記錄到文件 -o 記錄到filename指定的文件 缺省值:服務器的ethrs.log,客戶端的ethrc.log,外部客戶端模式的ethrxc.log -debug 記錄調試輸出 -ports 使用自定義端口號而不是默認端口號 格式:「Key1 = Value,Key2 = value,……」 默認值:「control = 8888,tcp = 9999,udp = 9999,http = 9899,https = 9799」 控制用於ethr的控制信道通信。 對於協議,基本端口由值指定,並計算其他端口。 示例:tcp = 9999表示帶寬端口:9999,CPS:9998,PPS:9997,延遲:9996 注意:必須在客戶端和服務器上使用相同的端口 注意:此選項對外部客戶端模式無效 -4 僅使用IP v4版本 -6 僅使用IP v6版本
服務器參數
-s 服務器模式 -ui 顯示文本UI
客戶端參數
-c 客戶端模式,連接到服務器指定的名稱或IP -t 測試完成,b:帶寬,c: connections/s, p: packets/s,l:延遲 默認是帶寬測試 -p 要使用的協議,默認為TCP -n 要使用的會話/線程數 -l 用於每個請求的緩沖區大小 -i 延遲測試的迭代次數 -d 測試運行的持續時間,例如,10s,4m,5h等.0 – 永遠,默認值:10s
外部服務器參數
-m x 外部服務器模式 – 在此模式下,Ethr僅支持TCP,偵聽9999 任何客戶端都可以在此模式下連接到Ethr。 Ethr還可以在此模式下接收數據 此模式對於在負載均衡器後面的多個實例上運行Ethr服務器非常有用, 來自客戶端的流量由負載均衡器分配給這些實例 -s 服務器模式 -ui 顯示文本UI
外部客戶端模式
-m x將模式設置為外部客戶端模式 -c 外部客戶端模式中,連接到由主機指定的目的:端口 示例:-x www.microsoft.com:443或-x 10.1.0.4:22等 -t 測試完成,b:帶寬,cl:連接延遲 -d 測試運行的持續時間,例如,10s,4m,5h等.0 – 永遠,默認值:10s -g 連續建立連接之間的間隙(或間隔)(用於連接延遲測試) 狀態 Protocol Bandwidth Connections/s Packets/s Latency TCP Yes Yes No Yes UDP Yes NA Yes No HTTP Yes No No No HTTPS Yes No No No ICMP No NA No No 平台支持
Windows經測試:Windows 10,Windows 7 SP1
未經測試:其他Windows版本
Linux測試:
Ubuntu Linux 18.04.1 LTS,OpenSuse Leap 15
未經測試:其他Linux版本
OSX測試:
OSX由貢獻者測試
其他目前尚未測試其他平台
參考來源:github,本文由周大濤編譯,轉載請註明來自FreeBuf.COM