Test your server's upload and download speed

black

New Member
wget dl.getipaddr.net/speedtest.sh 2>/dev/null -O- | bash

or

curl -s dl.getipaddr.net/speedtest.sh -o- | bash

I decided to create a script that tests the server's download speed as well as upload. To me, this has been something that's long overdue and I'm surprised that no one has done it yet.

Unlike speedtestcli (the python script) which interfaces with speedtest.net, this one uses way less RAM.

There's a few options like force 100MB file size tests instead, instructions on how to do that can be found here.

Let me know if you guys have any issues. If it's security related, please send it to me via PM.
 
Last edited by a moderator:

drmike

100% Tier-1 Gogent
Thanks! Interesting new script.

Folks will need to install bc and curl....     The script notes this at runtime  :)

So far, unimpressed with speeds I am seeing.  Unsure about to test other locations to see how the results compare.
 
Last edited by a moderator:

NodeBytes

Dedi Addict
Testing US locations

Speedtest from Houston, TX, USA on a shared 1 Gbps port

Download Speed: 4.66 MB/sec

Upload speed: 9.14 MB/sec

Speedtest from Los Angeles, CA, USA [ generously donated by http://maximumvps.net ] on a shared 1 Gbps port

Download Speed: 6.34 MB/sec

Upload speed: 5.67 MB/sec

Speedtest from Dallas, TX, USA on a shared 4x1 Gbps port

Download Speed: 5.77 MB/sec

Upload speed: 10.72 MB/sec

 

Testing EU locations

Speedtest from Tallinn, Estonia on a shared 1 Gbps port

Download Speed: 1.38 MB/sec

Upload speed: 3.29 MB/sec
 

black

New Member
Thanks! Interesting new script.

Folks will need to install bc and curl....     The script notes this at runtime  :)

So far, unimpressed with speeds I am seeing.  Unsure about to test other locations to see how the results compare.
Correct. Bc was needed for accuracy to 2 decimal places; Bash's built in only has integer division. I only have 2 spare VPSes dedicated to this. If are people willing to donate a container, I'd be happy to add it to the list.
 
Last edited by a moderator:

KuJoe

Well-Known Member
Verified Provider
Typo in the script. ;)
 

curlis not installed, install it to continue, typically you can install it by typing
Not a big deal but just an FYI for those OCD peoples out there.  :wacko:
 
Last edited by a moderator:

KuJoe

Well-Known Member
Verified Provider
Code:
Forcing 100MB speed test
Testing US locations
Speedtest from Houston, TX, USA on a shared 1 Gbps port
        Download Speed: 17.27 MB/sec
        Upload speed: 28.48 MB/sec
Speedtest from Los Angeles, CA, USA [ generously donated by http://maximumvps.net ] on a shared 1 Gbps port
        Download Speed: 13.05 MB/sec
        Upload speed: 13.61 MB/sec
Speedtest from Dallas, TX, USA on a shared 4x1 Gbps port
        Download Speed: 20.78 MB/sec
        Upload speed: 41.04 MB/sec
 
Testing EU locations
Speedtest from Tallinn, Estonia on a shared 1 Gbps port
        Download Speed: 5.04 MB/sec
        Upload speed: 7.56 MB/sec
 
Last edited by a moderator:

black

New Member
Typo in the script. ;)

Not a big deal but just an FYI for those OCD peoples out there.  :wacko:
I happen to be one of those OCD people :p

Looks like you can force it to use a 100MB test file instead of a 10MB one, this should show more accurate speeds if you have a fast port speed.


touch FORCE100MBFILESPEEDTEST
Correct. It's probably easier if someone does a local touch instead of me serving them a blank file. I'll update the options page to reflect that. Thanks!
 
Last edited by a moderator:

blergh

New Member
Verified Provider
Interesting script indeed, good work!

Is this list of the providers used for the mirrors correct?

vmPort - Houston, TX

maximumvps - Los Angeles, CA

Incero - Dallas, TX

WaveCom - Tallin, EE
 
Last edited by a moderator:

black

New Member
spun up a quick centos 6.4. Not bad you can also use the server-bear scripts for testing the whole vps system not just network speed. https://github.com/Crowd9/Benchmark
Correct. Serverbear incorporates various benchmark tools that are known and outputs it a user-friendly format. What I aimed to achieve with this script is to get a complete picture of the network utilization. I believe that VPS owners have a false sense of their network capabilities if they are only testing the download speed.

In the US on a residential plan for an ISP, the download speed far exceeds the upload speed. That's because the ISP expects an end user to be downloading content more often than uploading, which suggests that download speeds are more important. Conversely, shouldn't a server's upload speed be more important than the download one, or at least as equal as the download speed, since it's purpose is to serve content? Yet people still think "well, my wget to cachefly is good, my network speed must be good."
 

drmike

100% Tier-1 Gogent
Any reason why this script should perform poorly on say a Debian install inside OpenVZ?

Speeds I am getting from a number of providers under such environment are disturbingly slow.

In contrast, a dedicated server:

touch FORCE100MBFILESPEEDTEST && wget dl.getipaddr.net/speedtest.sh 2>/dev/null -O- | bash
Forcing 100MB speed test
Testing US locations
Speedtest from Houston, TX, USA on a shared 1 Gbps port
Download Speed: 29.35 MB/sec
Upload speed: 42.33 MB/sec
Speedtest from Los Angeles, CA, USA [ generously donated by http://maximumvps.net ] on a shared 1 Gbps port
Download Speed: 23.89 MB/sec
Upload speed: 28.86 MB/sec
Speedtest from South Bend, Indiana, USA [ generously donated by NodeBytes ] on a shared 100 Mbps port
Download Speed: 12.11 MB/sec
Upload speed: 19.78 MB/sec
Speedtest from Dallas, TX, USA on a shared 4x1 Gbps port
Download Speed: 31.93 MB/sec
Upload speed: 64.31 MB/sec

Testing EU locations
Speedtest from Tallinn, Estonia on a shared 1 Gbps port
Download Speed: 5.47 MB/sec
Upload speed: 8.14 MB/sec
 

black

New Member
I looked into this.

From my tinyvz container


Forcing 100MB speed test
Testing US locations
Speedtest from Houston, TX, USA on a shared 1 Gbps port
Download Speed: 28.32 MB/sec
Upload speed: 22.35 MB/sec
Speedtest from Los Angeles, CA, USA [ generously donated by http://maximumvps.net ] on a shared 1 Gbps port
Download Speed: 28.77 MB/sec
Upload speed: 9.80 MB/sec
Speedtest from South Bend, Indiana, USA [ generously donated by NodeBytes ] on a shared 100 Mbps port
Download Speed: 12.10 MB/sec
Upload speed: 12.71 MB/sec
Speedtest from Dallas, TX, USA on a shared 4x1 Gbps port
Download Speed: 23.63 MB/sec
Upload speed: 36.06 MB/sec

Testing EU locations
Speedtest from Tallinn, Estonia on a shared 1 Gbps port
Download Speed: 5.83 MB/sec
Upload speed: 6.38 MB/sec

Results seem ok. Tinyvz doesn't use solusVM as their control panel and I remember solus having ways to throttle your connection so there might be something there? There might be some host OS tcp tuning?

My tinyvz container runs on debian 6 with kernel 2.6.27 #1 SMP Mon May 9 13:27:11 CEST 2011 i686 GNU/Linux.

Remember that this is all done via http, a higher layer on the OSI model so the speed test servers make no distinction between which visualization you use (simply because it doesn't know).

The problem would most likely reside in the ovz container or the host node of your ovz container. It's also a good bet that since the speedtest servers are giving you low results, your clients (the people you're serving on that particular openvz container) are getting those speeds as well.
 
Last edited by a moderator:

bizzard

Active Member
This is what I get on my BlueVM VPS at located at CA, USA


Testing US locations

Speedtest from Houston, TX, USA on a shared 1 Gbps port

Download Speed: 5.38 MB/sec

Upload speed: 8.53 MB/sec

Speedtest from Los Angeles, CA, USA [ generously donated by http://maximumvps.net ] on a shared 1 Gbps port

Download Speed: 38.39 MB/sec

Upload speed: 79.91 MB/sec

Speedtest from South Bend, Indiana, USA [ generously donated by NodeBytes ] on a shared 100 Mbps port

Download Speed: 2.85 MB/sec

Upload speed: 3.72 MB/sec

Speedtest from Dallas, TX, USA on a shared 4x1 Gbps port

Download Speed: 4.85 MB/sec

Upload speed: 8.25 MB/sec

 

Testing EU locations

Speedtest from Tallinn, Estonia on a shared 1 Gbps port

Download Speed: 1.23 MB/sec

Upload speed: 1.89 MB/sec
 

WSWD

Active Member
Verified Provider
Any reason why this script should perform poorly on say a Debian install inside OpenVZ?

Speeds I am getting from a number of providers under such environment are disturbingly slow.
Honestly, the servers being used as test servers don't appear to be the greatest, or are being overloaded with all of us testing.  Even my in-network speeds (Incero - Incero, Quadranet - Quadranet) aren't terribly great, and I know it's not my servers! ;)

Doesn't explain the Debian issue though...
 
Last edited by a moderator:

black

New Member
Honestly, the servers being used as test servers don't appear to be the greatest, or are being overloaded with all of us testing.  Even my in-network speeds (Incero - Incero, Quadranet - Quadranet) aren't terribly great, and I know it's not my servers! ;)

Doesn't explain the Debian issue though...
I wish I had money for dedicated pipes :(
 

WSWD

Active Member
Verified Provider
I wish I had money for dedicated pipes :(
I hear ya!  My only point is that if people are actually using this script to troubleshoot their own servers or get much useful information, don't.  From my limited testing yesterday, the numbers are simply not realistic, I'm guessing due to the overload.  It's just not a realistic speed test.
 

IslandGalPal

New Member
Hi there, I'm in Idaho, Speedtest Seattle. Sorry I'm new. Can't seem to attach a file -  anyway

my download was 46.53Mbps and upload was 2.37Mbps
 
Last edited by a moderator:

black

New Member
Hi there, I'm in Idaho, Speedtest Seattle. Sorry I'm new. Can't seem to attach a file -  anyway

my download was 46.53Mbps and upload was 2.37Mbps
The speedtest VM container that was donated to me in Idaho said it was 100 Mbps connection so that's what I put in the script. Is that what you were referring to?
 
Top