Linux: How to find out whether NIC is causing a bottleneck

linuxperformance

There are quite a lot of resource of how to check a bottleneck causes by local harddisk IO (iostat), CPU (top), latency (ping) or even network bandwidth (the switch may tell).

How to tell if a NIC does matter?

Best Answer

I recommend dstat -nf and dstat -i or dstat -if. Things to look for:

  • Network data rates (in MB/s) equal or close to ~ 1/8th the bandwidth (in Mbits/s). E.g. 12MBytes/s for a 100Mbit card.
  • Very high interrupt rates that correspond with high packet rate / network traffic.

The first is a fundamental bandwidth rate that you can't get around. The second could be a sign that you would benefit from jumbo frames or TCP offloading / that your system is being overloaded by interrupts due to the network traffic (making it difficult for the system to respond to other events.