I'm looking for a tool (not AB, or any stress-test) that can simply test my server's external (overseas) upload bandwidth. The machine's location is at Europe but i'd like to test my speed to America.

I don't like to provide an url because of unnecessary load but if no tool exists i'd be happy if someone can measure it for me.


EDIT: Some refinement. This is a Linux-based server and i don't like to install any 3rd party apps for this simple task if possible.

EDIT2: It would be helpful too if someone (from US) can pull an iso file from my server so i can determine my upload speed to that direction.


www.speedtest.net from the server itself. It can check the bandwidth to multiple locations.

  • 1
    This is a no-go. How? From links browser? I'd like to downvote you but i cannot. – fabrik Aug 17 '09 at 7:55
  • Upvoted, why would you downvote a perfectly reasonable answer? – Marko Carter Aug 17 '09 at 7:56
  • Did you see a server with X for example? Sorry i didn't. – fabrik Aug 17 '09 at 8:08
  • 2
    You didn't specify what kind of server, operating system, or if you had a GUI browser. If you don't provide enough information, you can't expect a precise answer. This solution would have worked fine under Windows or an X session. – Mark Henderson Aug 17 '09 at 9:00

Could you maybe use `fetch' or wget to grab a large tarball from a mirror site that's hosted in Europe? No need for installation of additional tools, can be done from the CLI and should provide stats for you too

  • Sorry for the misconception, again. I need to know my upload speed from EU to US. My download speed isn't interesting for now because this is needed only because our US resident clients' website will be served from EU if possible. – fabrik Aug 17 '09 at 9:00
  • This will test bandwidth in one direction (inbound). If you want to test outbound traffic, do something similar (i.e. create a massive file on your server and then download it with 20 simultanious sessions) – Mark Henderson Aug 17 '09 at 9:01
  • wget of something from ftp.heanet.ie - Largely guaranteed that you will not max out their bandwidth. – Dan Aug 17 '09 at 9:03
  • 1
    In which case, would freeshell.org be of any use? Create a large tarball on your server, and grab it from your freeshell account. This should give an indication of speed in the opposite direction – Ben Quick Aug 17 '09 at 9:08
  • @Ben Quick: This would be great but wget is a 'subscibers only' command. I cannot pay atm but this was the most helpful answer yet. – fabrik Aug 17 '09 at 9:31


Project on Github. Command line interface for testing internet bandwidth using speedtest.net

Here is a sample output


If you're willing to test the bandwith between to sites (providing you can setup forwarding), there's a tool called NetSpeed wich you can find here. It can measure the transfer rate between to tcp sockets.

Hope this fits your needs.

  • Sorry i didn't metion that this is a Linux-based server. I've edited my question. – fabrik Aug 17 '09 at 8:13

How about using FTP? A quick search didn't turn up any free FTP sites/servers but I did see some that are inexpensive for low monthly transfer rates.

FTP or WGET should be on most servers.

Are you able to put a Windows or some other machine with a GUI on the same network temporarily? That would allow you to use some of the other tools suggested and other than hardware differences should give you a comparable analysis.


Speedtest.net CLI interface is easiest way.

sudo apt-get install pip
sudo pip install --upgrade
sudo pip install speedtest-cli

speedtest --list | ack -i 'san jose, ca'
9383) Sneaker Server (San Jose, CA, United States) [4066.05 km]
5479) Sonic.net, Inc (San Jose, CA, United States) [4066.62 km]
9540) DNASOLES (San Jose, CA, United States) [4066.62 km]

speedtest --server 5479

I also can test upload by serving a 1GB.bin file and downloading it from another server that claims 10Gbps or whatever speed you have.

You can create a 1GB file by doing the following (linux):

dd if=/dev/zero of=1GB.bin bs=1 count=0 seek=1G

Or you can use this handy alias I made:

# add to ~/.bash_aliases
mkfile_gple() {
  dd if=/dev/zero of=$file bs=1 count=0 seek=$size

$ mkfile_gple 1G 1GB.bin

On a mac, you can simply type: mkfile 1g 1GB.bin

Then you can download from another server (to test your target servers upload speed) with curl <ip-of-server>/1GB.bin -o /tmp/1GB.bin -- you should see the speed used in the transfer. You can also use wget <ip-of-server>/1GB.bin -O /tmp/1GB.bin

To install nginx do sudo apt-get install nginx and place your 1GB.bin file in /var/www/html. Now just download that 1GB.bin file to test its upload speed (a server is uploading when it serves web traffic). Be sure the line you are downloading from has sufficient bandwith (ie: another 1Gbps server).

I've found that I usually get about 10-20% of advertised speeds due to network conditions. ie: a 250Mbps line usually will give me 10-12Mbps consistently.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.