Gigabit Ethernet: Dude, Where's My Bandwidth?

Network Speed Limiting Factors

While it might be relatively simple to collect the components to create a gigabit network, getting it to work at the maximum speed is more complex. The factors that can cause network slowdowns are numerous, but as we'll discover, it primarily comes down to how fast the hard drives can get data to the network controller.

The first limitation we should consider is the gigabit network controller’s interface with the system. If you're using a controller that resides on the older PCI bus, the amount of data throughput theoretically available is 133 MB/s. While this seems enough for Gigabit Ethernet's 125 MB/s requirement, remember that the PCI bus bandwidth is shared throughout the whole system. Every add-in PCI card and many system resources will be sharing that bandwidth, limiting the amount available to the network card. On newer PCI Express (PCIe) systems, this should be a non-issue, as every PCIe lane has at least 250 MB/s exclusively available to it.

Another aspect of the network that’s often suspect is the network cabling. It is often claimed that poor speeds are guaranteed if the network cable is run close to interference-causing power cables and cords. Longer cable runs can also be problematic as copper Cat 5e cables are only certified for 100 meter (about 300 ft.) lengths.

There are those who advocate using the newer Cat 6 standard instead of Cat 5e-class cable. While some of these claims are a little hard to quantify, we can certainly test how they might affect a small home gigabit network.

Let's not forget the operating system, either. While it's probably not being used much for gigabit networking these days, I shouldn't forget to mention that Windows 98 SE (and older operating systems) won't see a benefit from gigabit Ethernet as its TCP/IP stack will barely make use of 100 megabit connections to their fullest potential. Windows 2000 and more recent versions of Windows are fair game, although you might have more tweaking to do in older operating systems to coax them to perform at their maximum levels. We'll be using Windows Vista 32-bit for our tests, and as much as Vista has a bad reputation for some things, it's optimized to offer gigabit networking out of the box.

Next, let’s consider the hard drives. Even the older IDE interface sporting the ATA/133 specification should be able to support a theoretical 133 MB/s of data transfer, and the newer SATA specification should be able to breeze by the requirements, providing at least 1.5 Gb/s of bandwidth. But while the cables and controllers might be able to handle the data, the hard drives themselves might not.

Consider that a typical, modern 500 GB drive will likely be able to sustain data transfer rates somewhere in the neighborhood of ~65 MB/s. While it might burst faster at the start of the drive, it will slow down throughout the transfer. The data located at the end of the drive will read even slower, perhaps in the neighborhood of ~45 MB/s.

At this point, it looks like we’re getting an idea of where our bottleneck is probably coming from. What can we do? Let’s run some tests and see if we can achieve performance close to our network’s theoretical 125 MB/s limit.