我关注了此线程来获取有关读取 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 的速度推送给客户机,那就这样吧。