Typically, most of us, at some point or the other, get concerned or pay attention to our internet connection speed at home. If you haven't done already, there are good online tools like SpeedTest.net to measure the throughput from your ISP. So, it's a good idea to use these occasionally and check you are getting what you are paying for (though keep in mind, speeds at your end will never be 100% of the service level you are paying for. 80-85% of contracted max is a reasonable expectation). For long, I know i am not getting any where near the reasonable performance from my ISP. So, finally I picked up the phone this week and lodged a complaint.
However, Internet connection speed is not the only performance that home users be concerned about these days. Given the recent explosion of network devices, and along with the increased demands on in-home streaming, media sharing and large size file transfers, one should start paying attention to their home LAN throughput as well. Online tests are not a good choice for this. I recently used the free "Lan Speed Test" tool to establish a baseline performance measure of my current LAN at home, as i am about to upgrade my home network to dual band wireless-N with a brand new Linksys E3000 router.
LanSpeedTest tool comes in two variations. A free Client only version that physically read/writes data to disk and another Client/Server version for a small fee that measures pure network performance (there is no disk I/O involved). I like the first client only approach, since it better represents the real-life scenario. So, I recommend starting with Client only approach first and use server version only if there is need to break-out the overall performance and diagnose further.
So, I started with a series of base line tests by choosing to transfer files of various sizes between a laptop and my Ubuntu file server. I basically ran the tool with different file sizes (10, 50, 100 MB) multiple time once using my current Wireless-G (54 Mbps) and again the same tests using a wired 100 base-T connection. Here is what i found:
Wireless LAN performance (Rated Max: 54 Mbps):
- Avg. Write Transfer Throughput : 18.5 Mbps (~ 34% of Max Rated Speed)
- Avg. Read Transfer Throughput : 19.5 Mbps (~ 35% of Max Rated Speed)
Wired LAN Performance (Rated Max : 100 Mbps)
- Avg. Write Transfer Throughput : 80.2 Mbps (~ 80% of Max Rated Speed)
- Avg. Read Transfer Throughput : 73.5 Mbps (~ 73% of Max Rated Speed)
I ran the wireless test first and when i saw those low numbers, i wondered whether poor disk I/O was the culprit (though i suspect that wasn't the case). But that doubt was disproved once i saw significantly higher throughput with LAN. Had that been not the case, i would have chosen to run the client/server version to eliminate the disk I/O from the picture. This is a good example of looking at the real-life scenario approach first.
Now coming back to the above listed numbers, obviously my LAN performance seem to be poor. Know that real life performance will never be 100% close to the rated max speeds. Lan Speed Test tool documentation states that a 50-70 % rated max throughput is a reasonable expectation given the network overhead and disk I/O and whole bunch of other factors involved in the data transfer. So, taking that 50-70% as expected throughput, my current wireless LAN is still way below the lower end of that expectation with around 35% throughput. On the other hand, my wired LAN performance with around 80% throughput seems reasonable well. Based on above, i did some quick obvious tuning checks such as making sure there is no wireless interference with other 2.4 GHz networks in my neighborhood (using this excellent NetStumbler tool) and assigning different channel. It still didn't help much.
Next, I plan to repeat and measure these numbers once after i install new router and tune it to see if i can get any better results.
I am no expert on this topic, for me learning and figuring out something new is kind of fun and exciting. I intend this article to help other home enthusiasts to start in the right direction. There are several other excellent online resources and tools to help on this topic. Have fun!