1. ethtool
ethtool是很强大的查询网卡(嵌入式称为phy芯片)配置的工具,几乎phy芯片芯片手册寄存器能配置的选项,ethtool都能查询到;嵌入式调试phy芯片的时候经常用到该命令;最简单的指令如下
ethtool eth0(要查看速率的网卡) #打印网卡信息 Settings for eth0: Supported ports: [ TP AUI BNC MII FIBRE ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised auto-negotiation: Yes Speed: 1000Mb/s Duplex: Full Port: MII PHYAD: 1 Transceiver: external Auto-negotiation: on Current message level: 0x00000007 (7) Link detected: yes
这段信息已经包含了phy的很多配置信息:
phy芯片支持的端口,支持的链接模式;
网络自适配是否打开,工作模式(全双工,半双工),速率等信息;
这里的Speed: 1000Mb/s只能说明phy芯片最大速率能达到1000Mb/s;实际速率还需要进行测试;
phy芯片一般分为10base,100base,1000base;Speed: 1000Mb/s能说明网卡处于1000base模式,实际速率相差不多;
2. iperf
实测网络速率的工具,分为客户端和服务端,两端进行数据发送实时计算网络速率并打印:
# 服务器端 $ iperf -s # 客户端 $ iperf -c <server_ip>
打印信息:
/mnt/zhangliming/iperf # ./iperf3 -s ----------------------------------------------------------- Server listening on 5201 (test #1) ----------------------------------------------------------- Accepted connection from 192.168.0.221, port 53640 [ 5] local 192.168.0.221 port 5201 connected to 192.168.0.221 port 53642 [ ID] Interval Transfer Bitrate [ 5] 0.00-1.00 sec 868 MBytes 7.28 Gbits/sec [ 5] 1.00-2.00 sec 904 MBytes 7.58 Gbits/sec [ 5] 2.00-3.00 sec 923 MBytes 7.74 Gbits/sec [ 5] 3.00-4.00 sec 883 MBytes 7.41 Gbits/sec [ 5] 4.00-5.00 sec 915 MBytes 7.68 Gbits/sec [ 5] 5.00-6.00 sec 929 MBytes 7.79 Gbits/sec [ 5] 6.00-7.00 sec 907 MBytes 7.61 Gbits/sec [ 5] 7.00-8.00 sec 908 MBytes 7.62 Gbits/sec [ 5] 8.00-9.00 sec 938 MBytes 7.86 Gbits/sec [ 5] 9.00-10.00 sec 929 MBytes 7.80 Gbits/sec [ 5] 10.00-10.00 sec 768 KBytes 6.68 Gbits/sec Bitrate字段就是现在的实际速率; Transfer:在某时间间隔内的传输的数据量;上面打印可知,时间间隔为1s;所以和Bitrate一样代表传输速率 各字段含义如下: ID:连接的唯一标识符或ID号。 Interval:报告状态或统计信息的时间间隔。 Transfer:在报告的时间间隔内传输的数据量。 Bitrate:报告的时间间隔内的传输速率(以位/秒为单位)。 Retr:在报告的时间间隔内发生的重新传输次数。 Cwnd:当前拥塞窗口的大小(单位未定义,通常是报告的时间间隔内的平均值)。
注意:iperf在文件系统中可能不存在该命令,需要下载源码进行移植!
3.程序测试
当然也可以自己写一个网络程序来对网络速率进行计算;计算出1s内接收多少Bytes;就是当前网络的速率;和iperf的原理一样;
标签:MBytes,Full,Gbits,phy,sec,测试,linux,速率 From: https://www.cnblogs.com/yhfs/p/18021594