目录

iperf 测试带宽

之前被要求测试网卡带宽能力,发现了 iperf 这个工具,记录下来防止遗忘。
iperf 是个开源跨平台测试带宽工具,windows、linux、macOS …… 都支持,安装也挺方便。

安装

地址:https://iperf.fr/

测试

参看:https://www.52os.net/articles/iperf-check-bandwidth.html

无论是 tcp 还是 udp 方式测试,都要一端运行服务器模式,另一端运行客户端模式,另外如果开了 iptables,要打开 tcp 5001 端口,当然也可以指定端口。

tcp 方式

服务器端
iperf –s
客户端
单线程
iperf -c SERVERIP -t 60 -i 1
多线程
iperf -c SERVERIP -t 60 -i 1 -P 5

udp 方式

服务器端
iperf -u –s
客户端
iperf -c SERVERIP -t 60 -i 1 -b 100M

遇到的问题

防火墙要关闭

我使用 win8 和 centos 测试,开始 ping 不通 win8,后来发现 win8 的防火墙没关,关上就好了……
后来又发现 win8 只能做服务端,如果作为客户端,centos 就收不到数据,才发现 centos 也有默认的防火墙……
/article/2015/06/28/iperf/20150618001.png
关闭防火墙服务
systemctl stop firewalld
关闭后 centos 就可以作为服务端了

带宽测不满

我测试两边都是千兆网卡,第一次测试大概 900Mbps 多,但是后来就变为 95Mbps,这是怎么回事?
开始以为是 iperf 版本问题,换了也还是不行,后来发现原来是网络有自动协商功能,而我查看本地连接自动协商结果为 100Mbps,这样带宽当然不会超过 100Mbps 了,然后我修改自动协商为固定 1000Mbps 双工
win8设置:网络连接->适配器->属性->网卡配置->高级->速度和双工->1.0Gbps
/article/2015/06/28/iperf/20150618002.png/article/2015/06/28/iperf/20150618003.png
cenos 设置:
查看详细信息
ethtool eno1
设置禁用自动协商设定固定速度和工作方式
ethtool -s ethx autoneg off speed 1000 duplex full
但是可悲的是以上设置完成,网络就连不上了链路层就探测不到了,不知道是不是 win8 和 cenos 不兼容?