传输速率比 NIC 建议的要快

传输速率比 NIC 建议的要快

我关注了此线程来获取有关读取 NIC 速度的信息。 如何验证我的 NIC 速度?

我正在使用 ethtool 来验证我的 NIC 的速度,正如线程中讨论的那样。

:~ # ethtool eth0
    Settings for eth0:
    Supported ports: [ TP ]
    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 pause frame use: No
    Advertised auto-negotiation: Yes
    Speed: 1000Mb/s
    Duplex: Full
    Port: Twisted Pair
    PHYAD: 0
    Transceiver: internal
    Auto-negotiation: on
    MDI-X: off
    Supports Wake-on: d
    Wake-on: d
    Current message level: 0x00000007 (7)
                           drv probe link
    Link detected: yes


:~ # dmesg |grep eth0
[    5.347423] e1000 0000:02:00.0: eth0: (PCI:66MHz:32-bit) 00:50:56:8b:26:0e
[    5.347533] e1000 0000:02:00.0: eth0: Intel(R) PRO/1000 Network Connection
[   43.467863] e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[3656340.307349] e1000: eth0 NIC Link is Down
[3656340.312386] e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[30612796.474526] device eth0 entered promiscuous mode
[30612946.780348] device eth0 left promiscuous mode

我知道,这是一台虚拟机,NIC 应该模拟 1000Mbs 的速度。这意味着 1 秒钟的速度为 128MB,这应该是我的瓶颈,对于通过此主机进行的每个 NFS 相关传输来说都是如此。(到目前为止这是正确的吗?)

我将 Netapp NFS 共享挂载到此主机并开始写入文件。这是一个网络共享,因此速度应该受到 NIC 造成的瓶颈限制。

> time ; dd if=/dev/zero of=/test/1GB_file bs=1GB count=1
1.032u 27.065s 7:08:35.06 0.1%  0+0k 203632+27343968io 43pf+0w
1+0 records in
1+0 records out
1000000000 bytes (1.0 GB) copied, 3.92766 s, 255 MB/s

我反复执行 dd 命令,速度始终在 250MB/s 左右。远高于 128MB/s == 1000Mbps。

我遗漏了什么?为什么这个数字高于网络带宽?

答案1

在虚拟机中,网卡速度并不是真正的限制。如果主机可以将 2000Mb/s 的速度推送给客户机,那就这样吧。

相关内容