0

I have slower than expected download speed from a server (Debian sever->Windows PC, if that matters). Iperf3 shows no retries but confirms the slow bitrate.

Iperf3 output (iperf3 -s on windows PC, then iperf3 -c <windows-pc-ip> from the problematic server). This yields the below:

# iperf3 -c <windows-pc-ip>
Connecting to host <windows-pc-ip>, port 5201
[  5] local <server-ip> port 55742 connected to <windows-pc-ip> port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  5.46 MBytes  45.8 Mbits/sec    0    419 KBytes
[  5]   1.00-2.00   sec  4.29 MBytes  36.0 Mbits/sec    0    419 KBytes
[  5]   2.00-3.00   sec  4.29 MBytes  36.0 Mbits/sec    0    419 KBytes
[  5]   3.00-4.00   sec  4.29 MBytes  36.0 Mbits/sec    0    419 KBytes
[  5]   4.00-5.00   sec  4.29 MBytes  36.0 Mbits/sec    0    419 KBytes
[  5]   5.00-6.00   sec  4.29 MBytes  36.0 Mbits/sec    0    419 KBytes
[  5]   6.00-7.00   sec  4.29 MBytes  36.0 Mbits/sec    0    419 KBytes
[  5]   7.00-8.00   sec  4.29 MBytes  36.0 Mbits/sec    0    419 KBytes
[  5]   8.00-9.00   sec  4.29 MBytes  36.0 Mbits/sec    0    419 KBytes
[  5]   9.00-10.00  sec  4.29 MBytes  36.0 Mbits/sec    0    419 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  44.1 MBytes  37.0 Mbits/sec    0             sender
[  5]   0.00-10.00  sec  42.4 MBytes  35.6 Mbits/sec                  receiver

If I check the congestion control algorithm, it appears to be cubic

# sysctl net.ipv4.tcp_congestion_control
net.ipv4.tcp_congestion_control = cubic

AFAIK, that means that only the package loss matters for scaling, not latency. But retries are 0, so no package loss? (Am I wrong about this?)

RTT between the PC and the server is ~50ms

Some relevant values that I have set by default (Debian 11):

net.core.wmem_max = 212992
net.ipv4.tcp_wmem = 4096        16384   4194304

But I don't recognize my Cwnd value here. I tried playing around with tuning those (and few other parameters) but observed no difference.

So, basically my question is - what makes the OS stop scaling Cwnd? Can I tune some parameter to make it go further?

0 Answers0