LAN Speed Test

2009 Jan 5 at 14:27 » Tagged as :video, wiki,

What you see here is a speed test carried out using a free tool by Speedtest.net. It's rather predictably named as speedtest mini. At first glance these results are impressive it shows that I have a very fast Local Area Network (184 mbps down and 277 mbps up) but it's a lie. I do have a very fast LAN but this figure is a huge understatement. My LAN is faster. Much much faster. I have gigabite ethernet and the actual speed is at least three times the speed that's reported.

The result is inaccurate because the test method isn't very scientific. It works by downloading several large files from the web server ( in my case hosted on a server in the LAN). File access is limited by the speed of the hard drives. Unfortunately most hard drives cannot deliver at 100 mbps - the upper limit for gigabit ethernet. Hard drives operate much slower.

For broadband speedtest which is what most people use the tool for - the hard drives will not act as a bottleneck because broadband links typically operate at much much slower speeds and will not place an undue burden on the hard drives (even if multiple users are trying the test concurrently).

For the upload test, the widget POSTs some data to the server. The data appears to be generated internally or it's uploading a file that it just cached into memory. The result is that the hard drive bottleneck doesn't play such a significant role  - at least not for smaller uploads which are held in memory at the server rather than being saved to disk. And speed test doesn't try to upload a lot of data at once anyway because most servers are not equipped to handle a large incoming upload (see this link if you want to learn how to configure your server : http://www.radinks.com/upload/config.php

So how do I know that my LAN really is as fast I as I claim it to be. I used this simple PHP scripts (which mimics a 128MB file being downloaded to test it out)

$s="0";

for($i = 0 ; $i < 16 ; $i++)

{

$s .= $s;

}

for($i = 0 ; $i < 2048 ; $i++)

{

echo $s;

}

?>

And this is what wget reported:

Saving to: `nofile.php'

[ <=> ] 67,108,864 52.2M/s in 1.2s

2009-01-04 14:45:13 (52.2 MB/s) - `nofile.php' saved [67108864]

52.2 MB/s that's already three times as fast as what speedtest reports but this is not accurate either. That's because wget is still saving the file to the local drive (which again acts as the bottleneck). Even that can be avoided by redirecting output to /dev/null/

wget http://radmedia/speedtest/nofile.php -O /dev/null

That gives a slightly faster result

Saving to: `/dev/null'

[ <=> ] 134,219,776 69.0M/s in 1.9s

2009-01-04 14:56:25 (69.0 MB/s) - `/dev/null' saved [134219776]

This result seems a lot more realistic. Yet I am disapointed that it's not close to the 100 MB/s mark which his about the max that you can get with gigabit ether. Do I have so much of noise in my cable to wipe off about 30% of the bandwidth?