Link

目录

  1. docker image下载
  2. 运行
  3. 参数
  4. 参考资料

docker image下载

docker pull gabyct/nuttcp

#离线保存使用
docker image save gabyct/nuttcp -o nuttcp.tar

运行

#Server 端通过 Docker run 运行
docker run -it --rm --network=host --name=nuttcp-s gabyct/nuttcp /bin/bash

#启动 nuttcp 服务,启动后并无回显
nuttcp -S

#client 端通过 Docker run 运行
docker run -it --rm --network=host --name=nuttcp-c gabyct/nuttcp /bin/bash

#启动 nuttcp 服务并进行 TCP 测试
sh# nuttcp 172.31.2.59
11407.2960 MB /  10.04 sec = 9528.7990 Mbps 38 %TX 78 %RX 0 retrans 0.17 msRTT

#以 10G 带宽进行 UDP 测试(默认1M)
nuttcp -u -R10000M  172.31.2.59
 9003.2734 MB /  10.00 sec = 7552.5166 Mbps 98 %TX 73 %RX 28273 / 1180692 drop/pkt 2.39 %loss

参数

-P: 指定服务器端口。

-i:指定回显时间,默认只有当测试完成后才回显,可以设置 -i 1 使得每秒有回显。

-T:测试时间,默认10s,支持 -T 1m、-T 1h 这样的格式。

-w:窗口大小,默认单位为KB,可以使用 -w 5m这样的格式。

-u:进行 UDP 测试

-R:设置带宽,默认单位为 Kbps,默认TCP不限制,UDP限制为1,如果要进行UDP测试,需要使用 -R10000M,或者-Ru(无限制)。

-l:读写 buffer 大小,默认 UDP 为 1K/8K,TCP 为 64K。

-r:反向测试,让 Server 给 Client 发包。

极限测试用例:10G 带宽、MTU 9000、的测试设置

nuttcp -l8972 -T30 -u -w4m -Ru -i1 <server>

root@ip-172-31-9-13:/# nuttcp -u -R10000M -i1 -l8950 -w5m  172.31.2.59
nuttcp-t: Warning: send window size 212992 < requested window size 5242880
nuttcp-r: Warning: receive window size 212992 < requested window size 5242880
  883.1478 MB /   1.00 sec = 7408.2545 Mbps  1644 / 105113 ~drop/pkt  1.56 ~%loss
  855.2114 MB /   1.00 sec = 7173.9619 Mbps   960 / 101156 ~drop/pkt  0.95 ~%loss
  869.6362 MB /   1.00 sec = 7295.0011 Mbps  3083 / 104969 ~drop/pkt  2.94 ~%loss
  825.1925 MB /   1.00 sec = 6921.9880 Mbps  6726 / 103405 ~drop/pkt  6.50 ~%loss
  877.8302 MB /   1.00 sec = 7363.9135 Mbps  2149 / 104995 ~drop/pkt  2.05 ~%loss
  896.0959 MB /   1.00 sec = 7517.2156 Mbps   461 / 105447 ~drop/pkt  0.44 ~%loss
  857.1575 MB /   1.00 sec = 7190.2649 Mbps  1554 / 101978 ~drop/pkt  1.52 ~%loss
  853.2227 MB /   1.00 sec = 7157.3222 Mbps   449 / 100412 ~drop/pkt  0.45 ~%loss
  890.2833 MB /   1.00 sec = 7468.2753 Mbps   643 / 104948 ~drop/pkt  0.61 ~%loss

 8703.9505 MB /  10.00 sec = 7301.4744 Mbps 98 %TX 66 %RX 18268 / 1038017 drop/pkt 1.76 %loss

实际测试发现这个软件并没有 iperf 好用,但在某些情况下,可以作为对照。

参考资料

https://support.cumulusnetworks.com/hc/en-us/articles/216509388-Throughput-Testing-and-Troubleshooting#10g_udp_testing

https://hub.docker.com/r/gabyct/nuttcp