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.