Close menu

How to: test your uplink bandwidth speed

At Serverius private colocation clients are always directly connected to the Serverius core switch. This way clients will experience the maximum speed and low latency. Serverius is guarantee burst capacity and always up-to the port speed. For instance if a 1000Mbps full-duplex port is used, you can burst up-to round 900Mbps or 990Mbps in reality. Note that it is entirely download/upload speed dependent on a number of factors such as:
  • Your hardware performance in the Serverius network.
  • The hardware performance of the recipient.
  • The network speed of the recipient.
  • The network hardware and network settings of the recipient settings like QOS, general filtering.
  • The speed between the network Serverius and the recipient network (hops in between).
  • And many more...
If you think your connection is slow and it should be faster, there are many ways to test. Some tests give facts, some tests give only a presumption.

With higher bandwidths being provided by datacenter networks, Tier1 transit providers and internet service providers, it becomes harder for both for the end-user and the service providing network to provide high bandwidths. Serverius s able to provide these high bandwidth because of its combination of high end transit and peering partners: https://serverius.net/connectivity/ip-transit-services Serverius provides his own speed tests for their customers: http://speedtest.serverius.net. Here you can download test files from the Serverius network.
To measure your maximum bandwidth now, you should start a terminal with wget, iftop, bmon or else. Next up you should shut down or disconnect all clients except the machine your connected to the router with.

Do not use online speed tests such as http://www.speedtest.nl These are tools for home dsl speedtest connection and not to test a datacenter uplink speed. For testing in a high performance network you need to test otherwise. Serverius advise you to test from a Linux or Windows server. Note: for doing a good test you need to connect only one "clean" server to your uplink(s).

Test with IPERF
Our speedtest.serverius.net server is capable of bandwidth testing up to 5Gbps. It is physically located in Dronten, NL and connected with 10Gbps uplink. One can test the connection speed using software called “iperf”. speedtest.serverius.net has iperf server up and running. Iperf software and manuals you can download and setup for any operation system from official home page https://iperf.fr

FYI: It’s a well known issue that connection speed for one TCP session depends significantly on the roundtrip time (RTT). The higher is RTT, the lower is the result for that TCP session.

You can find TCP Throughput calculator here.

One should utilize 10 or more TCP-sessions to achieve adequate speed measurement results:

Testing on a Linux server

iperf -c speedtest.serverius.net -P 10

Testing on a Windows server

iperf.exe -c speedtest.serverius.net -P 10


Test with download files from FTP or HTTP

Testing on a Linux server
Within Linux you can tell wget to store large files in "/dev/null". This way files are downloaded into the RAM and not into the hard drive. This way the slowness of a hard drive will not effect the test result. Here an example:

wget http://speedtest.serverius.net/files/2000mb.bin -O /dev/null (with --inet4-only you can forse to use ipv4)

You will see the speed in Megabyte per sec. For instance: 97.1M/s (this is almost 1000Mbps).

Testing on a Windows server

Within Windows you can use Powershell to download

Import-Module BitsTransfer
Start-BitsTransfer -source http://speedtest.serverius.net/files/2000mb.bin 
(on a clean Windows install, you need to run the firsttime the "Set-ExecutionPolicy" "RemoteSigned" command)
(you can copy these 2 lines of code in a testfile.ps1 and running it by double clicking on it. This way you can run multiple downloads from several networks the same time)

In your windows task manager (at the "Networking") you can see the percentage of the uplink.

More test files are available on http://speedtest.serverius.net

Troubleshooting bandwidth problems

Before you start:

  • Always test from server to server (from datacenter to datacenter).
  • Always be sure that the server from where you test have no load at all.
  • Always use a respectable network.
  • Keep in mind that when testing with a 10G speed test server you will alsmost never hit 10Gbps transfer speed.
Questions:
  1. Is your Server, router hard- and software fast enough?
    Just make sure that your hardware has sufficient RAM free and the CPU is not fully used while transferring big amounts of data. Usually this is not a problem, but installing too much software and using your server for to much services, it can slow down the connection. Therefore check the CPU, memory and drive load on your router, switch and sending and receiving server.
  2. Does the local speedtest of serverius give good results?
    First thing to try is always to download a test file from 1 server to the other server what are both connected to the same switch. If this is not working for 100%, you need to look at your personal infrastructure.
  3. Does the local speedtest of serverius give good results?
    Try to download a test file within the serverius network. For instance: http://speedtest.serverius.net/files/2000mb.bin If this gives a good result, you will know its not your server or switch or uplink.
  4. Does the external network provide enough bandwidth?
    Most support ticket serverius receive about slowness, are problems of slowness between a specific user or network. "Everything is working fast, exept this one!" To do a good honest test you should make sure that when you at Serverius your 1000 Mbit/s uplink is clean and that receiving LAN speed and all network hops in between have also 1000 Mbit/s. In allot of cases the receiving network and networks in between have lower speeds. A way of testing this, is to download multiple test files from different networks synchronously. Do not download consecutively, but download multiple .bin files at the same time with wget or Powershell. If the total network speed is higher therewith as a single download, you will know your network speed at serverius isn't the problem. Some examples to download:
    - http://mirror.nl.leaseweb.net/speedtest/10000mb.bin
    - http://mirror.i3d.net/10000mb.bin
    - http://proof.ovh.net/files/10Gb.dat
  5. What is the distance between you and the other server?
    In general, the more distance between your server and the other server, the slower the connection will be. Fot instance, if you do a test to a server in China, Brazil, Australia, the slower the connection normally will be. Of course you will know where you are testing from, but to see this technically, you need to make a trace from and to the receiving server. The amount op hops, and naming of the hops will give you an idea of the distance.
  6. Are all networks in between fast and stable?
    The more hops in between your server and receiving server, the more change one of these hops will be slow and slows all down. With the MRT tool (windows an linux) you can see a bit where the connection is slow. Serverius offers also a online mtr tool: http://smokeping.serverius.net Keep in mind you need to test on your own server and run the tool for at least 10 minutes to have a good average. IMPORTANT: more and more networks do not, or partly reply to ICMP traffic, and therefore to PING and TRACEROUTE. Therefore a MTR, ping or trace rusult is more and more unrelyable.
  7. Is your local network traffic clean?
    Running the program iftop helps you find all traffic that is currently active in your local network. So if another client transfers gigabytes of data within your local network this can also dramatically slow down your internet transfers. Make sure the only connection that is available in your LAN while testing is the test download traffic. Especially services such as SMB (Samba/Windows Workgroups or Domains) produce lots of overhead and unwanted network traffic. Try to find that unwanted network traffic and eliminate the services on the clients that consume the bandwidth.
  8. Does the remote ISP provide the bandwidth they promised?
    Due to some press reports about ISP not providing the proper bandwidth, many people in the first place start to blame the ISP when their bandwidth is not as expected. In fact most ISP's do all they can to provide the proper bandwidth blaming them for not trying to do so is often wrong. If you did check all points above and direct downloads from the website or a website directly located in the network of your ISP are still not at the speed expected and that happens around the clock (24hrs/day) you should call your ISP to do bandwidth measurement on his side.

Still problems and need support?

If you have done all testing and you still have speed problems, you can contact the Serverius support. Tell if your upload and/or download is slow and sent them your troubleshooting results. A few of them are essential to help you:
  • All your troubleshooting results. Make a clear view how you test. Sent screenshots, multiple traces, screen video's of all tests. Make the description as clear as possible!
  • Show us that connection to 2 or more networks, users or servers are slow, and the slowness is NOT outside the serverius network.
  • A trace with reverse lookup information) from your server to the other server and a trace to your server on the same time.
  • A MTR with reverse lookup information) from your server to the other server and a trace to your server on the same time.
  • SSH or remote desktop access to your server at serverius.
  • Provide a large .bin test file what is downloadable by ftp or http.

What can Serverius do to help?

Every problem is different and needs another solution. In most cases serverius can help finding a technically connection problem between our core switches and your hardware, or with establish a specific peer, or forsing routes over another transit or peering provider, or others. Every problem needs another solution.

Was this answer helpful?