What are expected network speeds and common bottlenecks?

Here are some of the reasons you might be seeing the bandwidth you expect on a local area network (LAN).

  • Existing background load on the network or the machines being used for testing
  • 100Mb/sec was negotiated by the card / switch instead of 1Gb/s. Maybe due to errors on the link or excessive cable length
  • CPU might not be quick enough. Note that single core performance is important for the network test. Multiple cores don't help when you have only a single instance of the test running.
  • PCIe bus connecting the network card to the CPU might be too slow
  • Cabling problems. e.g. using CAT5 instead of CAT6
  • Wrong device driver is loaded up for the network card (NIC)
  • Poor TCP/IP settings. For example jumbo Ethernet frames (MTU), PCI burst transfer sizes.
  • If the NIC supports processing offload. (called TCP offload engine or TOE)
  • Routers / switches / Firewalls are not setup correctly or were never designed for the required speed.
  • The connection is high latency due to the machines being far apart, or routing problems causing the wrong route to be selected.
  • Low level physical errors on the link, data corruption, electrical issues, re-transmisions, EMI.
  • If you are using WiFi, then radio interference, congestion, low signal levels & reflections, can all cause problems.

Tools, like WireShark & NetStat, can help in getting to the bottom of networking problems & to monitor link errors.