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?