Network Throughput Considerations

Update, September 10, 2011

I tried a pair of PowerLine Ethernet adapters. These widgets just plug into two outlets, then you connect NICs from your equipment to them. Then you're done.

They are actually that simple, and in my apartment, they are outperforming the wireless N bridge I was using. The performance gain isn't so much a maximum throughput rate increase, it's that the average throughput is better. The typical ups and downs in transfer rate when transferring large files with a wireless N bridge really are smoothed out.

I bought these Netgear XAVB5001-100NAS Powerline AV 500 after seeing them tested at Small Net Builder. They work just as Small Net Builder described, yielding a slight improvement in overall data transfer rate with fewer

drop-outs. There's very little to do or worry about when setting them up, they are very simple to use.

    1. Always plug them directly into an outlet if possible. If it's absolutely necessary, use a short extension cord (like 6"), never a power strip with surge protection. If you're forced to use an extension cord and the performance is very bad, unplug it from the wall, turn the plug over, re-insert and try again (see 2 below).

    2. Do not plug one in upside down. I tried this and they connected, but only managed an 8 Mb/sec transfer rate. I almost fainted. I rearranged my power cords and plugged it in right side up. It immediately connected and tested at about 22 Mb/sec (using Hoo Tech's Net Meter), plenty for HDTV, and yes, if a Bluray doesn't exceed that bit rate, it'll play too.

    3. If you're using them in a shared electricity situation (dorm room at school), there is a simple encryption scheme that can be turned on.

The main gain is fewer stutters and dropouts. Also, the occasional interference which caused my N bridge to quit for 1 to 3 minutes is gone.

Not a huge success story, but a definite improvement.

Update, February 7, 2011

I discovered a very informative site called Small Net Builder. I learned several things about networking there.

    1. Actual through-put will always be less than the through-put class/rating of any networking device.

    2. Sustained throughput will be a LOT less than the through-put class/rating.

I've always known 1. was true. Networking overhead can eat up 20% of the throughput. That is, 100 Mbit/second components seldom transmit data much faster than 80 Mb/s. For Gigabit equipment, observed data transmission rates will be 400 to 700 Mb/s.

What I didn't have a clue about was the behavior of networking equipment when handling large file transfers or streamed data.

I finally got curious about my network's performance and downloaded HooTech's Net Meter, (30 day free trial, $25 for a single license). I was surprised to see my network's performance while transferring 1 GB files. Across 100 Mb/s connections I was seeing 60 to 70 Mb/s. After switching to a Gigabit switch, and all NICs confirmed connected 1000 Mb/s, full duplex I found I was getting file transfer rates as high as 480 Mb/s, but with large portions of the file transfer dropping to about 330 Mb/s.

Without Net Meter I wouldn't have known I had problems. So far, I've turned on Flow/Control and the dips to 330 Mb/s rates have stopped. I'm seeing steady 450 Mb/s average transfer rates. The main reason I'm seeing 450 Mb/s instead of 600 +Mb/s throughput is the lack of my server's built in NIC to implement jumbo frames.

For what it's worth, the NICs of preference are Intel's EXPI9301CTBLK or EXPI9301CT, and for servers with a (really) heavy streaming load you could use the dual homed EXPI9402PTBLK for two 1 Gb/s connections from your server to your network (pricey though). It looks like Intel's drivers for these NICs give you access to many more optimizing/tuning features than most other NICs. For about $35 each, I'll be installing Intel NICs in all of my PCs on wired connections.

Reported performance of networks using unmanaged Gigabit switches is around 450 Mb/s without jumbo frames and up to 700 Mb/s when using jumbo frames of 4 to 9 kbits. Even without jumbo frames, this is adequate for streaming Blurays. For that matter, good 10/100 Mb/s NICs are still adequate for streaming ripped Blurays. I prefer the Gigabit connection for quicker large file transfers when adding ripped content to my server.

The real eye opener for me was the observed performance of wireless N systems (WAP to built-in wireless N NICS, or wireless N bridges). These systems are promoted as 300 Mb/s equipment, and newer technology is touted as 500 Mb/s equipment. They perform well on short data transfers, but hit them with large (> 1 GB) file transfers, or steady data streams, and they show their true colors. Under ideal conditions (10 to 15 foot distance with clear line of sight between the sender and the receiver) the best of them can manage a constant throughput of 45 to 65 Mb/s, but as soon as you put them in different rooms or at different elevations and add a bit of interference, they have a hard time maintaining throughputs > 40 Mb/s. Most yield 20 to 30 Mb/s throughput to tougher locations.

In other words; Currently, reliable streaming of Blurays still requires Cat 5 cable.

I'm OK with this, because I'm still installing Bluray disk readers in my HTPCs, and the wireless N performance just lets me get by streaming HDTV, and DVDs typically play with no drop-outs at all. If I was really collecting and ripping Blurays, I'd be disappointed. Currently, DVD quality is still good enough for me (barely), and 20 to 30 GB per movie places a huge load on the server in terms of storage capacity. I know I'll eventually make the leap to Bluray, but the thought of maintaining a 10 to 20 Tera Byte server is spooky. While it's very easy to back up my (now paltry) 15 GB of personal data and ripped music, the thought of loosing 100 movies (it takes 45 to 60 minutes to rip a Bluray on my fast 4 core machine) is scary. This currently drives users to stripped RAID or fully mirrored configurations(either complex, or expensive).

I wonder what's coming in the next few years in terms of source material, data storage, and networking components for the masses...

Also, streaming wave audio is rock solid and my music collection is accessible with 100% error free playback. :-)

Update, July 27, 2010:

Stuttering has been back for a while, got intolerable 2 days ago. Reset the Wireless N Access Point & Bridge and re-loaded the connection data. Took 30 minutes. The wireless bridge went from no more than than 10 minutes use before a stutter to operating for 2 hours straight without an error. I guess I was right, resetting the routers (cleaning the routing tables out) is routine maintenance.

Update, April 7, 2010:

Had my first problems with the wireless N bridges. Playback of HDTV streams started stuttering unacceptably a couple of days ago. This is after the WAP/Bridges have been operating with good results for 5 to 6 weeks. I noticed what I think is a related behavior with the wireless G systems I tried to use also. Before I stumbled on a cure, I switched from Tomato to DDWRT, thinking it was Tomato's problem, however, DDWRT also exhibited the same behavior; The wireless G bridges would completely fail after 4 to 6 weeks of reliable use.

The cure for both failures (G and N) is the perform a "hard reset" on all the units (WAP and both bridges). This forces two things, all of the data tables for routing data on the wireless bridges are erased, and all settings are re-initialized. It appears that the data tables are eventually corrupted when using either of these protocols for wireless bridge duty. Rebooting the units doesn't help, this doesn't erase the data tables.

After the resets, the wireless bridges are performing as well as they ever did. I expect this to be a recurring maintenance issue, and while irritating, it only takes about 10 minutes per unit if you have kept a record of your settings and how to access the units when they revert back to the factory defaults.

Completed February, 2010

There isn't a lot to worry about here. If you are planning on pulling several high definition video data streams simultaneously from your server I'd strongly recommend a wired gigabit adapter on the server and a gigabit switch. Wired connections to 100 Mb NICS in the clients will work fine if that's what you already have, otherwise, try to keep everything on wired gigabit connections.

If you have to go wireless (I live in an apartment, so I needed to) try 5 GHz N wireless access point/bridge sets to get to each location. I tired very hard to get wireless G to work, but the protocol just isn't robust enough to handle a 15 to 25 Mb/s data stream reliably enough for care-free service. While 2.4 GHz wireless N systems will also work, the 5 GHz band is used less often. I'm using three Netgear WNHDE111 wireless access point/routers, one configured as a WAP with the other two in bridge mode to the WAP. So far, these things are amazing, once they are set up, they are completely transparent, they just work. My router and wireless N WAP are in my study upstairs. One bridge takes the network into my upstairs bedroom through two walls, about 25' away. The second bridge takes the network to my system downstairs, through two walls and the floor, about 30' away. Both carry HD video with few drop-outs and buffer overruns on the receiving side are rare.

Keep in mind that wireless just won't be as reliable as cat-5 cable and plan accordingly. I'm pretty picky, I found G unusable for HD video, but I find I can live with the occasional boo-boos N gives me. If the buffer maintained by the program playing the video on the client PC is overrun, it will be empty and the data stream to the playback program will stop, thus playback stops. When an RF disturbance slows, but still allows data flow across the wireless bridge, the buffer is running almost empty for the duration of the disturbance. The overruns are short, recur repeatedly, and "stuttering" results. Other times, if the RF disturbance is stronger and stops data flow over the bridge completely, the buffer just empties and playback stops for the duration of the disturbance (could be seconds to minutes), then starts again (maybe). Either way, pausing the system for 30 seconds will usually fill the buffer to its capacity and the program will continue without problems. Success, even with wireless N systems, depends on the signal levels at both ends of the bridge and the amount of 2.4 GHz or 5 GHz RF interference where you are operating the transceivers.

To avoid the overhead, the bridges and WAP are operating with no security. While this poses an obvious security risk, I do use wireless MAC filtering on the WAP, and it does NOT broadcast its SSID. I've run my G network using similar security for a couple of years now without incident (my apartment complex is rather small, and gated). In busier locations with easy access from the street, I'd implement security on the G side, but I feel I might run into problems if I had to implement security on the N network carrying streamed content.

The rest of my network consists of a Buffalo WHR-HP-G54 Buffalo WHR-HP-G54 acting as my router, 100 Mb/s switch, and wireless G access point. I use DD-WRT as the firmware on it and it works very well.

I'm using a Motorola SB5101U Surfboard cable modem (because a Cox Cable network tech told me they optimize its firmware for their cable network). It works well, I routinely see 4 to 7 Mb/sec download performance from fast servers and test sites.

After fresh installs on three computers made from new components, I found that my fastest machine showed signs of poor network performance. Depending on the program being used to play the streamed content, video playback would stutter, or there would be very brief dropouts. XBMC does something weird, the video will slow down very subtly, and the audio will continue without problems. You really don't notice it until the buffer catches up, then the video fast forwards in a sudden burst to catch up. If you have a consistent problem, it becomes very irritating very quickly.

I've found that Speed Guide's TCP Optimizer works well with XP. I just cleared up my problem on my fast machine using the program's choice of optimal settings.

One common problem with Windows Home Server (WHS) that looks like a network throughput problem but isn't, is when WHS runs a service called Disk Extender Migrator (DEM). This service updates the tombstones that point to data locations in the drive pool, and makes sure any new data files that should be duplicated for data backup purposes are duplicated every hour. This service is set to run every hour, and takes five to ten minutes to do its stuff. If this service runs while you're watching streamed video (especially high definition video) from the pooled drives, you stand a good chance of experiencing problems ranging from noticeable drop outs to severe stuttering and playback crashes. The good news is that you can tell DEM when to run using commands in Windows Scheduler (check the Server write-up for the commands). The downside is that files scheduled for duplication won't be duplicated while DEM is off. This isn't an issue for me (I let DEM run from 2:00 AM to 4:00 PM on weekdays and 2:00 AM to 7:00 AM on weekends), there's never anything I want backed sitting on the server for more than 9 hours before it's duplicated. I'm comfortable with that. If it's really critical that your data be guarded from a hard drive failure every hour, you might want to reconsider your choice of putting such valuable files on a server being used for recreational purposes.

Jay R. Taylor

March 2010

Home HTPC Clients - Bedroom System Server