A fast answer is useful only when the question is clear. A network test can tell you whether a service is reachable, how long a response takes, or how much data a path carries. Those are related observations, but they are not interchangeable.

Write down the path

Start with a source, a destination, and a direction. “Upload is slow” is difficult to reproduce. “This machine sends a fixed-size file to this endpoint over one connection” is a test someone else can repeat.

Keep the destination and data size consistent. Record the time, the address family, and whether the connection is new or reused. These small details often explain why two otherwise similar measurements disagree.

Measure a few different things

  • Reachability: can the request complete, with the expected response?
  • Latency: how long do connection setup and the first useful response take?
  • Throughput: how much data moves over a sustained interval?
  • Variation: do repeated runs produce a stable result or long pauses?

A successful short request does not establish sustained throughput. A high average can also hide several uncomfortable stalls. Keep the individual observations alongside any summary.

Change one variable

If two paths use different destinations, different payloads, and different concurrency, the results cannot isolate a single cause. Reduce the experiment until only the part you want to compare changes.

Run bandwidth tests sequentially so that they do not compete with one another. Repeat enough times to see the range, and note any background traffic. The goal is a useful comparison, not an impressive number.

A good test note: source → destination, direction, payload, concurrency, timestamps, result, and the one variable that changed.