i followed this thread to get the information on reading NIC speeds. How do I verify the speed of my NIC?
i am using ethtool to verify the speed of my NIC as discussed the thread.
:~ # 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
i know that, this is a virtual machine and the NIC should be simulating a 1000Mbs speed. That makes 128MB for 1 second and this should be my bottleneck, for every NFS related transfer which is made over this host. (is this correct so far?)
I mounted a Netapp NFS share to this host and started writing a file. It is a network share, so the speed should be limited by the bottleneck created by the 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
i repeated the dd command on and on, and it was always around 250MB/s. A way higher than 128MB/s == 1000Mbps.
What am i missing? Why is this number higher than the network bandwidth?