emersonthis
emersonthis

Reputation: 33348

Is there a reliable way to test upload speed?

I want to add a feature to a web page which shows the user's upload speed (helping them predict how long a file will take to upload).

I was pleased to find a cool example of how to do this with javascript but when I went to check the results against other (reputable?) testing sources, the results are all over the place!

I'm specifically interested in upload speeds.

On my work ethernet:

http://testmy.net - 15Mbps

http://bandwidth.com/tools/speedTest/ - 25Mbps

http://www.brandonchecketts.com/speedtest - 3.2Mbps

http://codecanyon.net/item/javascript-bandwidth-tester/full_screen_preview/531891 - 6Mbps

http://thinkingstiff.com/scripts/upload-speed - 1-2Mbps
(live demo by the author of the script referenced above)

Initially I thought it was fluctuation from my network due to traffic from other users, etc. But I've been retesting all afternoon and each test is pretty consistent with its self. Some more than others, but generally within 5%.

So I'm left wondering:

  1. Is it not straight-forward to test this?
  2. Are there any reliable tools to test this? Or should I just do it myself manually?

Upvotes: 2

Views: 6223

Answers (1)

pajaja
pajaja

Reputation: 2202

It all depends on what you really want to test. Do you want to test the upload speed to your server from that user or you want to give the user a tool, a speedtest tool, for him to see it's general upload speed?

Judging by the question i think it's the latter one and i would say that there is no reliable way for you to do this. All you can do is test the speed between your server and the client. And the tools you found are probably going to do that very well. But this speed depends on many factors, and it is not really representative scenario from which you can conclude the access speed which the user has to the internet. I don't know if i explained what i wanted to say well but I'll give you an example:

Let's say the user is located in Europe and has a network connection of 50/10 mbps. Your server is located in US. When you test the upload speed the traffic has to go through a lot of routers to get from EU to US and through networks which can be congested or experience some other problems, lowering the speed as a result of that. So, the speed he gets between his client and your server is 3mbps for example. At the other hand, if he was to test the speed between him and some server located closely to him, like inside his ISP's network, he would probably get the full speed of 10mbs that was promised to him. This is why you get consistent speeds for the same test server, but different when compared with each other.

In testing the bandwidth it is crucial to be as close to the client as possible. This is why a lot of ISP's have set up their own speed test servers so the user can check their access speed to the Internet. Everything beyond that is not really relevant since the speed will vary (sometime drastically) from server to server and it can't be considered a valid result.

Upvotes: 1

Related Questions