I hate waiting for network tasks to complete, whether it's copying large files, saving a big Word document, or watching a backup take forever. The real problem is that being forced to watch a progress bar often causes me to jump off to another task, which in turn makes me lose track of where I am. I wouldn't go back to the System 6 days before MultiFinder for anything, but there are times when I think that Mac OS X's multitasking makes me less productive.
One way to reduce the number of times I hop between tasks is to cut down on the number of unnecessary waits. Last week, I focused on speeding up my Ethernet network's performance, an effort that proved both easy and inexpensive, and one that I'd encourage anyone who is frustrated by network speeds to try.
(One quick clarification - although we all talk about network "speed," that's a misleading term. Increasing the performance of a network is more like increasing the diameter of a water hose. If you're trying to fill a swimming pool, a fire hose will finish the job much more quickly than a thinner garden hose at the same distance from the water source. That's what we're doing when we move from a "slower" network to a "faster" network - we're making the network pipes bigger, so they can carry more data in the same amount of time. Ideally, we would always talk about increasing network "bandwidth" or "throughput" but those terms don't always resonate as well with normal users.)
Going to Gigabit -- Apple has periodically increased the throughput of their networking support in Macs, starting with LocalTalk's 230.4 kilobits per second (Kbps). After that came 10 megabits per second (Mbps) Ethernet, followed by 100 Mbps Ethernet (sometimes called "fast Ethernet") and now 1000 Mbps Ethernet, which is commonly called "gigabit Ethernet." 10 Gbps Ethernet is used in some enterprise networks, and development is underway on 40 Gbps and 100 Gbps Ethernet; these faster flavors are used mostly to tie together gigabit Ethernet networks without hampering overall performance.
(Terminology abounds in this field. 10, 100, and 1000 Mbps Ethernet are also sometimes called 10Base-T, 100Base-T, and 1000Base-T, which refers to underlying cabling standards; the T stands for twisted pair, referring to the use of simple copper wiring, twisted at regular intervals to reduce signal interference. There are other forms of cabling, so 10Base-2 refers to 10 Mbps Ethernet running over coaxial cable and there are a number of 1000Base-X standards that carry gigabit Ethernet over fiber optic cables.)
Whenever Apple adopts the latest flavor of Ethernet, there's usually a lag time before most users follow along. Although Apple can source the Ethernet controllers sufficiently cheaply to include them in Macs, it takes a while before other equipment manufacturers can get the chips cheaply enough to build them into switches, routers, and other networking devices at prices that most people can afford. And of course, once someone has a perfectly functional 100 Mbps network, it takes a few years of buying new Macs and other networking hardware before enough of the devices on that network are capable of gigabit Ethernet. (To be painfully clear, you need at least two computers on a network capable of gigabit Ethernet before it's worth upgrading your switches!)
Back when we lived in Seattle, we used a 10Base-2 Ethernet network, with four locations connected by long runs of coaxial cable. This made sense at the time because 10Base-2 can be daisy-chained, with each computer connecting to the next; see "," 1998-09-14. In places where we needed to support 10Base-T as well, we added a hub to convert between the two wiring standards.
When we moved to Ithaca, I wired our new house with twisted pair wiring and used 100 Mbps Ethernet switches from Linksys to connect the three different parts of the network (our server/laundry room, my office, and Tonya's office). That setup worked fine for a number of years, but of late I had been experiencing network problems that were most easily resolved by power cycling one or more of the three Ethernet switches. Plus, I realized that three of our four primary Macs supported gigabit Ethernet internally. It was time to go gigabit.
(Another brief aside. Hubs retransmit all incoming data to all ports, which is less efficient than switches, which create a dedicated path between any two ports, keeping unnecessary data off the rest of the network. When I first started creating Ethernet networks, switches cost much more than hubs; processor advances eliminated any cost advantage quite a few years ago. It's unclear if hubs even exist for modern flavors of Ethernet; if you run across one, keep running.)
Making the Switch -- The first step was to purchase new gigabit Ethernet switches to replace the increasingly flaky 100 Mbps Linksys switches. I took the shortcut of shopping on Amazon.com, where I compared the user ratings and reviews of similarly priced switches from D-Link, Netgear, and other manufacturers. It's important to read such reviews carefully, paying close attention to those that make points that seem relevant to your intended use. In the end, I bought three identical 5-port gigabit Ethernet switches from D-Link, the . At the time they cost only $34.99, and came with $10 rebates.
(How large a switch should you get? It depends on the number of devices you plan to attach in any particular location. Five ports is probably enough for most home and small office networks, because you likely will have only a few machines close together. To connect multiple locations, you run a single Ethernet cable to the next switch. It's generally better to run only one cable between inexpensive switches in multiple locations than to run multiple cables across long distances to a single switch. For areas with many devices, you can buy switches with 8, 12, and 24 ports.)
As a slight bonus, given that they're powered on all the time, these particular D-Link switches advertised themselves as using less power by powering down inactive ports, budgeting power for different Ethernet cable lengths, and using more efficient power adapters. In my testing, each switch uses about 2.1 watts constantly, which costs me about 24 cents per month; that's about two-thirds of the power used by the older Linksys switches. Some older inexpensive gigabit switches ran very hot and even required cooling fans.
Installing the gigabit Ethernet switches was trivially easy, just a matter of swapping the Ethernet cables from the old Linksys switches and plugging in the power adapters. On two of the D-Link switches, the status lights glowed green to indicate that communications between my Power Mac G5 and MacBook, and with Tonya's MacBook Pro, were now taking place at gigabit speeds.
However, the lights on one of the D-Link switches weren't green, but amber, indicating that communications on those ports were running at only 100 Mbps. Two of those three didn't surprise me, since the Power Mac G4 acting as our internal server had an Intel Pro/100 Ethernet card that supported only 100Base-T (see "," 2004-07-12), and our 802.11g-capable AirPort Extreme Base Station is also limited to 100Base-T.
But the third amber light was concerning, since it was associated with the cable that connected to one of the other switches, and it should have been green to indicate a 1000Base-T connection. Initially, I was worried that the problem lay in the outdoor-rated Ethernet cable I'd laboriously researched and installed to extend my network from one side of the house to the other, but some quick cable swapping revealed the problem to be a single cheap patch cable that lacked sufficient wires to carry 1000Base-T. Exchanging it for a better cable turned that third light green.
(Time for another interruption. As you've just read, not all twisted pair Ethernet cables are created equal. Very old ones from the early 1990s may be Category 3, commonly known as Cat3, which is suitable only for 10Base-T. It was replaced by Cat5 cable, good for up to 100Base-T and possibly functional with gigabit Ethernet. However, for gigabit Ethernet, you really want to use either Cat5e, which replaced Cat5, or Cat6 cable, and networking people have told me that Cat6 is best for full performance over long cable runs. Hopefully, any cables you have lying around will be labeled on the cable itself; if you suspect problems, just get new Cat6 cables. All cable runs must be less than 100 meters, and preferably shorter. If you're remodeling your house or office, the best approach is to install conduit and string with which you can pull whatever future cable you want, along with another string. TidBITS editor Rich Mogull took that route - and then discovered later that some subcontractor had pulled the string out of half the runs! Chuck Goolsbee of Web hosting company digital.forest recommends for this exigency.)
The next part of the project took some more research. I needed a PCI-based gigabit Ethernet card for the Power Mac G4 that would work with drivers already built into Mac OS X 10.5 Leopard (whenever possible, try to avoid Ethernet cards that require their own drivers, which may not be updated in sync with Mac OS X). When I last had to buy an Ethernet card for the Power Mac G4 several years ago, the Accelerate Your Mac site offered. The page is still there, more useful than ever, and it turned me on to the  card, which works with Apple's built-in Ethernet drivers. Rather astonishingly, it was widely available for under $20; I bought it for $15.99 from Newegg.
Once I installed the card in my Power Mac G4 and configured the Network preference pane to use it, the D-Link switch's associated light turned green to indicate that my server was now communicating at gigabit speeds.
That left only the AirPort Extreme Base Station, but all it does is distribute wireless connectivity in the house and connect to my cable modem for my main Internet connection, which maxes out at about 4 Mbps down and 750 Kbps up. So upgrading to a new 802.11n AirPort Extreme Base that also supports gigabit Ethernet, or a similarly capable Time Capsule, simply wouldn't make much, if any, difference.
(One last aside. There is a performance problem that can occur with gigabit Ethernet networks any time your base station uses NAT to connect traffic between the local area network (LAN) and wide area network (WAN). This situation doesn't arise in normal circumstances, because most people connect a relatively slow broadband Internet connection to the WAN port. But if the Internet connection is fast - say, 30 Mbps fiber, which is available in some locations - or if your base station isn't directly connected to your broadband cable or DSL modem, performance can suffer. That's because most base stations have relatively weak processors that can't keep up with NAT's need to examine and rewrite every packet that crosses between the LAN and the WAN. TidBITS editor Glenn Fleishman has found that a number of Wi-Fi base stations (including Apple's) with NAT enabled unintentionally throttle LAN/WAN traffic to as low as 30 to 70 Mbps, even on networks that can send traffic at 980 Mbps between LAN gigabit ports. The solution is to have only one device performing the role of a NAT gateway, preferably connected directly to the broadband modem. If you need better performance, you might need to use a computer with two Ethernet adapters and from Sustainable Softworks.)
The Final Bits -- To give you a sense of how much of a difference moving from 100 Mbps Ethernet to 1000 Mbps Ethernet makes, I did a few simple tests copying a 1.07 GB file back and forth across my different machines before and after the upgrade. I used basic file sharing in Mac OS X - Apple Filing Protocol (AFP) and hand-timed the copies with an iPod touch's stopwatch.
Across 100 Mbps Ethernet, it took between 106 seconds and 113 seconds to copy the 1.07 GB file, or about 81 to 87 Mbps. That's a pretty decent usage of the pipe, since there's always some network overhead that prevents you from getting the full bandwidth of the connection.
When I ran the same test over gigabit Ethernet, the copies took between 43 and 48 seconds, or 199 to 213 Mbps. That's a significant improvement in performance, but far from the 1000 Mbps that is theoretically available. Curious, I did a bit more testing.
The Link Rate test in Sustainable Softworks' produced an estimate of over 800 Mbps, which is much closer to the theoretical limit, but achieved in a calculated fashion, rather than by actually transferring large quantities of data. Testing with FTP at the command line produced, at best, results similar to the AFP copies, showing the AFP wasn't being notably slower than Apple's built-in FTP server and client. Most interesting, though, was that simply duplicating the same file in the Finder took almost exactly the same time as transferring over the network on my Power Mac G5 (and about twice as long on the MacBook, which I can't explain), indicating that I may in fact have been bumping up against hard disk and filesystem performance limits as well.
To sum up then, for less than $125, I was able to increase the effective speed of my network for copying large files by almost 2.5 times. It would have been nice if I'd seen a 10-fold improvement, but it seems that such performance gains will require faster hard disks and network protocols as well.
Keep in mind that this network upgrade will almost certainly not affect my perception of Internet throughput at all, since that's constrained by my Internet connection and by the remote servers I'm connecting to. Increasing the local bandwidth simply won't make much difference, if any, to Internet performance.
But hey, I'm happy with halving the time it takes to shove large quantities of data around my network, since backups should move more quickly, copying big video files won't be so painful, screen sharing should be snappier, and working on hefty Word files on the server will be less sluggish. That's all good, and well worth the minimal expense.