Skip to content

Why a 1 Gbps port does not always mean a 1 Gbps download

Your server has a 1 Gbps port, but a download runs at a fraction of that. Usually nothing is broken. A port speed is the most the connection can carry, not what a single download will reach. This page explains the difference and shows how to measure what your server can do.

A 1 Gbps port can carry up to 1 gigabit per second. That is the upper limit, not a promise for every transfer.

Think of the port as the width of a road. A wide road lets many cars through, but it does not make one car faster, and it does not help when the road is narrow at the other end or busy in between. A download depends on the whole route and on both ends.

Where Why
The other server A transfer is as fast as its slowest end. A busy, limited or distant source sets the speed. Try the same file from another source
The route in between The data crosses many networks. One congested network, or a long detour, slows the whole transfer. This changes with the time of day
Your own connection If you download to your computer at home, your internet provider’s speed is the limit, not the server’s port
One connection alone A single connection often cannot fill a fast port over a long distance. See below

A single connection waits for small confirmations from the other end as it goes. Over a long distance these waits add up and keep one transfer well below the port’s limit.

Many connections do not all wait at the same moment, so together they fill much more of the port. A server with a 1 Gbps port may show a few hundred megabits on one download and come close to the full gigabit when it serves many users at once. For most servers, that second case is the one that counts. Speed tests use several connections at once for the same reason.

iperf3 measures the raw speed between two machines. You need your virtual machine (VM) and a second machine with a fast connection, for example another VM.

  1. Install it on both machines.

    On Ubuntu and Debian:

    Terminal window
    apt update && apt install -y iperf3

    On AlmaLinux, Rocky Linux and Fedora:

    Terminal window
    dnf install -y iperf3

    If the installer asks whether to start iperf3 as a service automatically, answer no.

  2. On your VM, start it in server mode:

    Terminal window
    iperf3 -s

    It waits for tests on port 5201. Stop it with Ctrl+C when you are done.

  3. On the second machine, run the test with eight connections at once:

    Terminal window
    iperf3 -c YOUR_VM_IP -P 8

    This sends data to your VM. The lines marked [SUM] at the end give the total of all eight connections.

  4. Test the other direction, from your VM to the second machine:

    Terminal window
    iperf3 -c YOUR_VM_IP -P 8 -R

    -R reverses the test: the VM sends and the second machine receives.

If the total is near the port speed, the VM’s connection is healthy, and a slow download had its cause at the other end or on the route.

Two more things to know:

  • The result is limited by the slower of the two machines. A test from your home connection measures your home connection.
  • A test moves real data. On a VM with a traffic quota it counts towards the quota. The VM’s Network tab shows the quota. See Traffic usage.

A fast port gives your server room to serve many users at the same time. That is what it is for. One transfer that reaches only part of the port speed is normal. When one download is slow, look at the other end and the route first. To know what your server can really do, test with iperf3 and several connections.

Checked against the product on 12 October 2026.