1

How can a common computer user ("Your Momma") measure the average download speed of any (random) specific public server of your own choice (e.g. "https://superuser.com" :) ), preferably using already installed tools (such as the browser or its plugins) or an online tool?

I am not successful in finding anything on the internet, all the searches such as "how to measure specific server download speed" always bring only a speed test of my ISP, or a speed test to a specific server selectable only from the tool's own list, or a specialized programming tools.

What I need to measure is rather an "effective speed", so it would be enough to have a browser plugin which sums up the total time of all the resources read from a server and divides it by their total size. I am aware that this is not exactly the server bandwidth, but effectively it can tell the user if the bottleneck is their own connection or the internet resource.

3
  • 1
    You can only measure some else’s bandwidth (or what you get of their total, anyway) if your own bandwidth is significantly higher.
    – Daniel B
    Sep 6, 2022 at 10:34
  • @DanielB This is obvious. I want to determine when the limiting factor is my own connection and when it is the network resource, and if increasing my internet connection would help or not. Hence I am also looking for some online tool, which might have better connectivity then my own connection. Sep 6, 2022 at 10:37
  • 1
    The only possibilities are if the server you are wishing to test has a specific speed test feature, or if they host files of sufficient size to establish a reliable speed. You cannot just make a server give you a speed test mode.
    – Mokubai
    Sep 6, 2022 at 10:50

2 Answers 2

1

You can only measure the real bandwidth of a server by a program that is running on that server.

Your internet connection to the server passes through several intermediaries, where each may have its own constraints. Not to mention the software running on the server, which may cap connections, and so on for every server and router through which passes the connection.

You can only measure the effective bandwidth of your connection to the server, by observing the speed by which you may download files. This speed will also fluctuate continuously, as conditions change on the server and all intermediate servers through which passes your connection.

I have observed that the usual case is that download speed increases up to a certain constant level, which may perhaps be the maximum effective bandwidth. Over time it may even start to decrease as conditions become less favorable, then sometimes return to its previous level (or not).

2
  • See my edit. Yes, effective bandwidth is good enough. But is there any tool supporting it easily enough? Sep 6, 2022 at 13:40
  • A download manager will usually give good information. In a pinch, even Task Manager gives good graphical representation in its network tab.
    – harrymc
    Sep 6, 2022 at 14:08
1

Servers offered by regular "Speed test" tools have one thing in common: they all publish HTTP URLs which consistently serve a large amount of data to the client – large enough that a measurement could be done over at least several seconds (giving time for TCP flow control to settle, etc).

The same does not apply to "any random public server" (e.g. https://superuser.com), as most URLs hosting ordinary HTML webpages are tiny in comparison to the server's upload speed – with superuser.com serving "only" 200 kB, you'd end up measuring the webapp's processing time and network latency more than you'd measure the actual throughput.

(And although it'd still be technically easy for a "speed test" service to set up its servers to offer a mode where it downloads an external URL into the test server, I kind of suspect that this would expose it to a few legal risks.)

So if you want reliable results, you can only measure servers that you're in control of (so that the you could make the server publish a 1GB file via HTTP at a known URL that the test service could download). This is already beyond "a common computer user" or "browser plugin" capabilities.

Because of that, I suggest that the easiest way to measure your own server is to 1) rent another virtual server close to the first one, 2) SSH to the temporary server and wget -O /dev/null the large URL that you prepared (or even run iperf3 on both servers now that you can), 3) discard the temporary server.

1
  • Thanks for your answer. Unfortunately, I cannot accept two answers :) Feb 16 at 14:27

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .