I am making some bandwidth tests to set a baseline for some other tests and I have a behaviour I cannot understand. The tests are done with
iperf3 on Linux (with and without
-R to get both up- and down-stream).
I called the machines "home" and "work", they are actually both "work" but since they are in different locations I will keep this naming to simplify the problem discussion. The theoretical bandwidths are:
- home: 1000 Mbps / 250 Mbps
- work: 1000 Mbps / 1000 Mbps
The setup (cases numbers are in front of the results):
Case 1: the home server checks with the public
iperf3 servers (the first two which are in France, so geographically close, but both belong to different companies, on different networks).
Case 2: an
iperf3 server is installed on the work server, the test is done from home (this is similar to case 1, except that the server is not public but private)
Results here are the same and in line with the expected bandwidths.
Case 3 and 4 are similar to 1 and 2, the difference is that the tests are done from "work".
What I do not understand is why the bandwidth is so low when the tests are done from work.
I understand that the topology from home to the public server may be vastly different than from work to the same public server. In reality it is not that different (all the servers are located around Paris on T1 or T2 backbones). In any case the "home" <-> "work" test should be symmetrical no matter where the server is.
a test to Ookla (speedtest.net) from "work" shows the expected ~1Gbps/1Gbps result.
traffic from "work" is not shaped, nor constrained in any special way. The firewall is open to all traffic.
To be clear: I am not trying to understand a small variation of the bandwidth. This is normal and also driven by the topology between the servers.
I am trying to understand a 10x difference, which must be driven by something else, I just cannot fathom out what (not the firewall as it is open, not a shaping as there is no, not a problem with the bandwidth as speedtest shows the expected one - maybe something specific to
iperf3 (but I doubt so))