Tuesday, May 31, 2011

With broadband speed you don't necessarily know what you will be getting

Since I live in an urban area, I am luck enough to now have a choice of Internet service providers vying for my business. Competition is definitely a good thing from the customer's point of view, but one of the problems is that many consumers don't know if they can believe the claims of the competing service providers about the speed of their Internet services.

Recently, I was delighted to receive the following text from my broadband provider: "UPC has increased your broadband speed from 15Mb to 20Mb Unplug your modem from the power supply, plug it back in and you'll have even faster broadband. Enjoy." Clearly, this was good news, but since I am sceptical I decided to use a SpeedTest.net testing service to test my Internet service both before and after the upgrade to see if the speed I experience really was as high as claimed.

If you read to the end, you can see the full details of the testing I did of my connection speed before and after the upgrade, but if you want a quick summary here are the conclusions:

The download speed achieved on my download link did indeed increase as promised by my ISP, however in most cases it would not have any noticeable effect upon the overall experience of using the Internet because download speeds from many sites was way slower than the maximum capacity of the link from my ISP. Therefore, although any increase is welcome, it is probably not worth my while to spend more money on a further increase in download speed.

The upload speed of my connection was much slower than the download speed. This did not change noticeably after the upgrade which is a pity because this would be a factor that would impact my experience of the Internet. Upload speed should become an important factor when comparing different Internet providers, but very few publicize their upload speed.

Some of the sites which were giving me the fastest download speed also had considerable ping delays. In some applications (e.g. VOIP calls) the ping delays I measured would be likely to have a noticeable impact upon performance.

When considering the speed of your internet connection, one of the first things that you need to realize is that the internet is not a single unified entity. The speed of the connection from your house to one particular server on the internet might be quite slow, but your connection to other servers might be fast. In order to account for this, the Speedtest site has a wide range of test servers all over the world and you can choose which one you can use for testing your speed.

Before I present the actual test results, I think I should briefly explain the parameters that SpeedTest measures about the link. It measures three factors:

Download Speed: This is metric shows how quickly it is possible to download a large file from the test site. It is measured by downloading test files of various sizes and then measuring how the time to download varies with the size of the file i.e. they ignore the overhead delay which would be required to start any download. This is the metric most commonly quoted by ISPs in their advertisements because one of the most common uses of the Internet when it first became popular was to download large software kits. However, the things that people do on the Internet has changed significantly in recent years so this is not necessarily the most relevant metric for current users of popular sites like Facebook etc..

Upload Speed: This is a measure of how quickly you can upload a large file to the internet. It is essentially the same measurement as the download speed except that the data is going in the reverse direction. This would be the metric that would affect how quickly you could upload some pictures to your favorite photo sharing service. Many Internet links provide significantly less upload speed than the download speed because they assume that you will spend the bulk of your time accessing information that other people have uploaded rather than uploading your own information. However, since many people spend a lot of their time online using social network sites it is not clear to me that this assumption is still valid.

Ping Time: This is a simple measure of how long a single packet of information takes to travel from your computer to the chosen Internet server and back again. This measure is important in any application which involves real-time interaction over the network because this will set the minimum on the communications lag. For example, many people will have seen remote correspondents being interviewed on the TV news where it is clear that their is a noticeable lag between the interviewer asking a question and the question being heard by the interviewee. As you know packets are not sent directly from your computer to the Internet server, instead they pass through several intermediate nodes with each hop adding to the delay in delivery time.

These are not the only factors that need to be measured to judge the quality of the line. Other factors include the percentage of packets lost and the jitter (i.e. how much does the ping time vary from one packet to another), but to make my life easy I only considered the parameters that Speedtest gave me.

I ran the first test utility before I rebooted my network router so this would be a measure of the performance of my existing network link. By default, the site assigned me to use a server in Limerick for testing, but the performance of my link to this server was surprisingly poor so I repeated the tests with 3 other servers in more distant parts of the planet. I took each measurement twice to get a quick feel about how repeatable the test result might be.

By default, the speedtest site selected a server in Limerick, Ireland to test my connection. Although Limerick is not very far from my home (roughly 200km) I found that the results from this server were quite poor (perhaps the server is overloaded or else it might be in a data center without fast connections to other parts of the Internet). I chose a few other servers in different cities to repeat my test and as you can see below the tests varied quite a bit depending upon which server I selected.

The speed of my link to Oslo and San Jose was reasonably good, but the link to Philadelphia was not as good and the link to Limerick was worst of all. It is surprising that it took longer for my network packets to reach Limerick (which is roughly 200 km from my house in Dublin) than they took to reach San Jose (which is over 8,000 km away) - but of course the packets destined for Limerick could very well be routed through intermediate servers on the far side of the Atlantic.

Download Speed (Mb/s)

Upload Speed(Mb/s)

Ping Time (ms)

Server Location

0.97/1.97

0.94/1.03

215/220

Limerick

10.27/9.23

0.99/0.95

115/120

Oslo

2.25/1.99

1.08/0.99

123/124

Philadephia

9.07/6.75

0.84/0.82

176/182

San Jose

I repeated the same test immediately after I rebooted the network to see if there was a noticeable difference. When I ran the pre-upgrade tests I did not realize that there was a test server available in Dublin. I ran tests with this server and I was pleased to see that the speed achieved to this server was over 15 Mb/s so the link from my house must indeed have been upgraded beyond 15Mb/s. The ping time to the server in Dublin was dramatically better than any of the others which probably means that there were very few networks hops between my home and this server.

Download Speed (Mb/s)

Upload Speed(Mb/s)

Ping Time (ms)

Server Location

0.98/1.39

0.80/0.84

217/231

Limerick

10.38/11.18

1.05/1.03

122/110

Oslo

1.70/2.10

1.15/1.06

121/124

Philadelphia

10.18/10.88

1.23/1.10

178/178

San Jose

15.98/15.36

0.94/1.02

31/30

Dublin

In general there was not a noticeable difference in the speed of the link to any of the servers I had used before. Of course the speed of an overall network link is determined by the speed of the slowest link along the path. Looking at download speed, there is a dramatic difference between the speed when using different sites. This seems to suggest that the so the link from my house to the ISP's data center is not the bottleneck and the bottleneck must be somewhere else along the path to the slower sites. Therefore speeding up the capability of the link between my house and the ISP is not likely to affect the overall download speed achieved from most of the hosts.

However, the upload speed tells a very different story. The upload speed was around 1 Mb/s for any of the servers tested which is much less than the download speed. This means that the upload speed was probably limited by the link between my house and the ISP's data center.

Using a VOIP tool like Skype, the same amount of data would be transferred in both directions. In most cases it is the upload speed of each parties Internet link rather than the download speed that would determine the overall quality of the connection achieved. Therefore someone who is unhappy with the quality of their Skype link would be wasting their time and money in switching to an alternative service provider who promised higher download speeds.

Of course network performance will vary depending upon congestion so I did the following tests the next morning. It seems that the download speed from Limerick had improved from the day before, but the download speed from the server in Dublin was worse. The upload speed was still remarkably similar for both servers although it was about 20% faster than the night before.

Download Speed (Mb/s)

Upload Speed(Mb/s)

Ping Time (ms)

Server Location

3.05/2.93

1.27/1.1.6

216/214

Limerick

12.93/12.72

1.29/1.33

27/24

Dublin

This asymmetry between the upload and download speeds is mainly a feature of the domestic broadband market. Commercial services are more likely to provide matched upload and download speeds. To see how a commercial service would perform I repeated the tests from the office where I work.

Although I the office is physically in Dublin, my employer has an internet connection provided by a UK based company. Therefore the SpeedTest.net service defaulted to using a server in London which it was able to reach faster than the one in Dublin. Luckily my employers has a very good internet link, but the download speed was 14-15Mb/s which is only slightly better than the speed I was getting at home. Looking at the upload speed however, the connection in the office was about 10 times faster than my home link

Download Speed (Mb/s)

Upload Speed(Mb/s)

Ping Time (ms)

Server Location

14.38/14.23

12.90/13.82

56/77

Dublin

15.10/14.09

10.68/13.10

24/24

London

I mentioned before that part of the reason limiting the speedtest results are the fact that my packets were competing with packets from other network users (this is called network contention). Therefore I decided to test the speed of the link again early on a Sunday morning when I guessed that there would be relatively little traffic congestion on the network. As you can see from the results below the download speed was indeed much faster, but the upload speed was virtually unchanged.

About Me

Brian O'Donovan is currently employed by IBM as a Software Engineer. He is based in the IBM Ireland Development Lab in Mulhuddart on the outskirts of Dublin. Click here to read Brian's CV online or click here for a PDF version.

The views expressed here are entirely personal and do not in any way represent the position of IBM.