Linux ethr 命令 - 网络性能测试工具
介绍
Ethr 是一个用 golang 编写的跨平台网络性能测量工具。该项目的目标是提供本机工具,用于跨多种协议(如 TCP、UDP、HTTP、HTTPS 和跨多个平台)对带宽、连接、数据包、延迟、丢失进行全面的网络性能测量。
Ethr 从现有的开源网络性能工具中获取灵感,并以这些想法为基础。对于带宽测量,它类似于 iPerf3,用于 TCP 和 UDP 流量。iPerf3 有更多选项可用于执行限制测试,更丰富的功能集,而 Ethr 支持多线程,允许它扩展到 1024 甚至更高数量的连接,多个客户端与单个服务器通信等。用于延迟测量,它类似于 Windows 上的 latte 或 Linux 上的 sockperf。
GitHub 地址:https://github.com/Microsoft/Ethr
安装:
有多种方式安装 ethr 工具
-
直接下载安装
wget https://github.com/microsoft/ethr/releases/latest/download/ethr_linux.zip
unzip ethr_linux.zip解压缩后将 ethr 放到
$PATH
中任一路径即可,比如 /usr/local/bin/ 目录。 -
源码编译安装
git clone https://github.com/Microsoft/ethr.git
cd ethr
go build -
Docker 镜像安装
docker build -t microsoft/ethr .
docker run -e GOOS=linux -v $(pwd):/out microsoft/ethr make build-docker -
go get 安装
go get github.com/Microsoft/ethr
示例
查看帮助
ethr -h
启动服务器
ethr -s
启动带文本 UI 的服务器
ethr -s -ui
启动客户端
ethr -c <server ip>
更多示例
# Start server
ethr -s
# Start client for default (bandwidth) test measurement using 1 thread
ethr -c localhost
# Start bandwidth test using 8 threads
ethr -c localhost -n 8
# Start connections/s test using 64 threads to server 10.1.0.11
ethr -c 10.1.0.11 -t c -n 64
# Run Ethr server on port 9999
ethr -s -port 9999
# Measure TCP connection setup latency to ethr server on port 9999
# Assuming Ethr server is running on server with IP address: 10.1.1.100
ethr -c 10.1.1.100 -p tcp -t pi -d 0 -4 -port 9999
# Measure TCP connection setup latency to www.github.com at port 443
ethr -x www.github.com:443 -p tcp -t pi -d 0 -4
# Measure TCP connection setup latency to www.github.com at port 443
# Note: Here port 443 is driven automatically from https
ethr -x https://www.github.com -p tcp -t pi -d 0 -4
# Measure ICMP ping latency to www.github.com
sudo ethr -x www.github.com -p icmp -t pi -d 0 -4
# Run measurement similar to mtr on Linux
sudo ethr -x www.github.com -p icmp -t mtr -d 0 -4
# Measure packets/s over UDP by sending small 1-byte packets
ethr -c 172.28.192.1 -p udp -t p -d 0