以前被要求測試網卡帶寬能力,發現了iperf這個工具,記錄下來防止遺忘。html
iperf是個開源跨平臺測試帶寬工具,windows、linux、macOS……都支持,安裝也挺方便。linux
地址:https://iperf.fr/windows
參看:https://www.52os.net/articles/iperf-check-bandwidth.htmlcentos
不管是tcp仍是udp方式測試,都要一端運行服務器模式,另外一端運行客戶端模式,另外若是開了iptables,要打開tcp 5001端口,固然也能夠指定端口。服務器
服務器端:網絡
iperf –s
客戶端:多線程
單線程tcp
iperf -c SERVERIP -t 60 -i 1
多線程工具
iperf -c SERVERIP -t 60 -i 1 -P 5
服務器端:測試
iperf -u –s
客戶端:
iperf -c SERVERIP -t 60 -i 1 -b 100M
我使用win8和centos測試,開始ping不通win8,後來發現win8的防火牆沒關,關上就行了……
後來又發現win8只能作服務端,若是做爲客戶端,centos就收不到數據,才發現centos也有默認的防火牆……
關閉防火牆服務
systemctl stop firewalld
關閉後centos就能夠做爲服務端了
我測試兩邊都是千兆網卡,第一次測試大概900Mbps多,可是後來就變爲95Mbps,這是怎麼回事?
開始覺得是iperf版本問題,換了也仍是不行,後來發現原來是網絡有自動協商功能,而我查看本地鏈接自動協商結果爲100Mbps,這樣帶寬固然不會超過100Mbps了,而後我修改自動協商爲固定1000Mbps雙工
win8設置:網絡鏈接->適配器->屬性->網卡配置->高級->速度和雙工->1.0Gbps
cenos設置:
查看詳細信息
ethtool eno1
設置禁用自動協商設定固定速度和工做方式
ethtool -s ethx autoneg off speed 1000 duplex full
可是可悲的是以上設置完成,網絡就連不上了鏈路層就探測不到了,不知道是否是win8和cenos不兼容?