How Can I Monitor My Available Bandwidth 24/7?

 Originally published on August 19, 2008 by Dirk Paessler
Last updated on March 03, 2022 • 5 minute read

We receive questions like this every few days. User of our monitoring products want to know if their ISP or hosting service is actually providing them with the available bandwidth that they are paying for. But measuring the actually available bandwidth is almost impossible. Let me explain this:

Two Problems When Trying To Measure Available Bandwidth

With this question you are facing to major problems:

  • Problem #1: The only way to measure the available bandwidth of a data line over some time is to create as much uploads/downloads as it can handle while measuring the data rates (in&out) with products like PRTG Network Monitor.
    Obviously when you do this your data line would be useless for anything else because the bandwidth is fully saturated by your test and there is no more available bandwidth for your "payload".
  • Problem #2: For an exact measurement you need two PCs/servers that are placed directly on both ends of the data line that you want to test. Otherwise you are not only testing your data line but also all network system en-route which are between your test client and the server you are talking to. This fact also makes testing available bandwidth more complex.
    For tests of Internet connections it is usually a good approximation if you are using content delivery networks like Akamai's services as the server that you download from. They run many servers around the globe and when you download they route your test client to the servers closest to you. But be nice to their servers and don't create excessive usage over periods of time! They won't like that.

OK, I Can't Test Available Bandwidth All Of The Time. But What Can I Do About My Question?

Since you can't measure the value directly all of the time you must monitor the speed of your data line by creating short load peaks by downloading a small file (e.g. some kilobytes) every few minutes while measuring the time it takes to do so. With PRTG Network Monitor I would create three HTTP sensors that access different files (or static webpages) with around 500kb from different "fast servers" (see above, this could also be a webpage from your ISP). Let the sensors run with an interval of 5 minutes for a few hours, then look at the charts and the measured values. For example if you have a data line that should have an available bandwidth of 4 megabit per second the test with a 500kb file should take 1000 ms (1 second).

  • 4 Megabit per second
  • = 0,5 megabyte per second
  • = 500 kilobyte per second

If your data line is also used by others during the test you will of course see some Jitter (unwanted variations) on the graph because your test did not always get the full bandwidth. If no other traffic was active on the data line your graph should be close to a flat line. If this is not the case talk to your ISP and ask why the variations are showing up. Be careful when running these types of test: If you download a 500kb file every 60 seconds you are creating a volume of 720 MB per day!