测量 NIC 的速度

测量 NIC 的速度

我有几个主板(但我认为如果它们是电脑的话问题会是一样的 - 除非它们是运行 Linux 的主板,所以我想运行控制台工具),通过电线连接到互联网。

现在,其中一个已连接到以太网端口(如预期的那样)。另一个则通过转换器(不确定术语是否正确)连接到 USB 端口,然后再连接到以太网电缆。

我想测量两者的速度(并进行基本操作检查)。

我怎样才能做到这一点?

答案1

嗯,有几种不同的方法可以解决这个问题——我将使用ethtool获取设备的“基本”信息,并使用 iperf 检查其实际速度。我使用“知道”较慢的连接(通过 homeplug)来显示差异。理论上,使用 USB 连接,您可能遇到瓶颈

ip addr首先,当然,你需要知道一些关于设备的信息和它的 IP 地址 -

然后我会使用 ethtool 获取有关适配器的信息

geek@box31:~$ ethtool eno1
Settings for eno1:
        Supported ports: [ TP    MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                             100baseT/Half 100baseT/Full
                                             1000baseT/Full
        Link partner advertised pause frame use: Symmetric Receive-only
        Link partner advertised auto-negotiation: Yes
        Link partner advertised FEC modes: Not reported
        Speed: 1000Mb/s
        Duplex: Full
        Auto-negotiation: on
        master-slave cfg: preferred slave
        master-slave status: slave
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: external
        MDI-X: Unknown
netlink error: Operation not permitted
        Link detected: yes

这里最重要的一点是Speed: 1000Mb/s——或者我称之为线速度。几乎你不太可能达到这个的“全速”。这是最快的你的硬件可以在家庭用户设置中,大多数系统都是千兆或快速 (100baseT) 以太网,尽管我们现在开始在家庭系统上看到高达 10Gig 的多千兆 Nics。

为了证明这一点,我使用iperf3- 你在另一个系统上运行服务器,iperf3 -s并使用类似以下命令连接到服务器iperf3 -c ip_of_server -t 10

这将给出如下输出

iperf3: interrupt - the client has terminated
geek@box31:~$ iperf3 -c 192.168.2.121 -t 10
Connecting to host 192.168.2.121, port 5201
[  5] local 192.168.2.86 port 44846 connected to 192.168.2.121 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  12.1 MBytes   101 Mbits/sec    0    351 KBytes
[  5]   1.00-2.00   sec  10.6 MBytes  88.7 Mbits/sec    0    351 KBytes
[  5]   2.00-3.00   sec  10.3 MBytes  86.7 Mbits/sec    0    351 KBytes
[  5]   3.00-4.00   sec  10.5 MBytes  87.7 Mbits/sec    0    351 KBytes
[  5]   4.00-5.00   sec  10.2 MBytes  85.7 Mbits/sec    0    351 KBytes
[  5]   5.00-6.00   sec  10.9 MBytes  91.2 Mbits/sec    0    351 KBytes
[  5]   6.00-7.00   sec  10.5 MBytes  87.7 Mbits/sec    0    351 KBytes
[  5]   7.00-8.00   sec  10.2 MBytes  85.2 Mbits/sec    0    351 KBytes
[  5]   8.00-9.00   sec  10.3 MBytes  86.2 Mbits/sec    0    351 KBytes
[  5]   9.00-10.00  sec  10.5 MBytes  88.2 Mbits/sec    5    173 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   106 MBytes  88.8 Mbits/sec    5             sender
[  5]   0.00-10.00  sec   104 MBytes  87.6 Mbits/sec                  receiver

我将把确切的解释留给读者作为练习在这种情况下,虽然我的连接的两端能够实现全千兆连接,您会发现我的速度较慢。

通过直接点对点连接或通过支持全千兆的路由器或交换机进行连接,您会看到更接近但不等于线速的速度。Iperf 也是漂亮的开销很低,因此使用像 http 或 https 这样的“现实世界”协议,您可能会看到小的速度的差异。

还有其他因素,例如数据包大小,但这超出了本答案的范围。

相关内容