I am seeing high TCP congestion during peak hours these days. This is especially for long distance routes like between Bangalore and Lucknow. The RTT is about 47ms.
For instance uploading from Bangalore (Digital Ocean) to Lucknow shows the following:
The above results are for cubic congestion control algorithm
The congestion algorithm can be changed to BBR,
Iperf then gives the full line speed,
Code:
# mtr lucknowan -w
Start: 2020-07-30T10:18:27+0530
HOST: ubuntu-s-1vcpu-1gb-blr1-01 Loss% Snt Last Avg Best Wrst StDev
1.|-- ??? 100.0 10 0.0 0.0 0.0 0.0 0.0
2.|-- 10.66.4.42 0.0% 10 0.5 0.6 0.4 0.8 0.1
3.|-- 138.197.249.22 0.0% 10 0.3 0.6 0.3 1.8 0.5
4.|-- 219.65.110.185.static-bangalore.vsnl.net.in 0.0% 10 1.3 2.4 1.2 10.9 3.0
5.|-- ??? 100.0 10 0.0 0.0 0.0 0.0 0.0
6.|-- 14.142.187.86.static-Delhi.vsnl.net.in 0.0% 10 37.9 37.9 37.8 38.3 0.2
7.|-- broadband.actcorp.in 0.0% 10 35.5 35.9 35.5 37.9 0.7
8.|-- broadband.actcorp.in 0.0% 10 34.5 34.2 34.0 34.6 0.2
9.|-- broadband.actcorp.in 0.0% 10 46.3 46.9 46.3 47.3 0.3
For instance uploading from Bangalore (Digital Ocean) to Lucknow shows the following:
Code:
# iperf3 -c lucknowan -p 5201
Connecting to host lucknowan, port 5201
[ 4] local 157.245.100.246 port 39900 connected to lucknowan port 5201
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 2.58 MBytes 21.6 Mbits/sec 7 69.3 KBytes
[ 4] 1.00-2.00 sec 1.49 MBytes 12.5 Mbits/sec 0 82.0 KBytes
[ 4] 2.00-3.00 sec 1.68 MBytes 14.1 Mbits/sec 1 66.5 KBytes
[ 4] 3.00-4.00 sec 1.06 MBytes 8.86 Mbits/sec 5 36.8 KBytes
[ 4] 4.00-5.00 sec 700 KBytes 5.73 Mbits/sec 0 41.0 KBytes
[ 4] 5.00-6.00 sec 891 KBytes 7.30 Mbits/sec 0 56.6 KBytes
[ 4] 6.00-7.00 sec 954 KBytes 7.82 Mbits/sec 4 50.9 KBytes
[ 4] 7.00-8.00 sec 891 KBytes 7.30 Mbits/sec 1 45.2 KBytes
[ 4] 8.00-9.00 sec 1.06 MBytes 8.86 Mbits/sec 0 60.8 KBytes
[ 4] 9.00-10.00 sec 1.24 MBytes 10.4 Mbits/sec 1 53.7 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 12.5 MBytes 10.5 Mbits/sec 19 sender
[ 4] 0.00-10.00 sec 11.6 MBytes 9.70 Mbits/sec receiver
iperf Done.
The above results are for cubic congestion control algorithm
Code:
# sysctl net.ipv4.tcp_congestion_control
net.ipv4.tcp_congestion_control = cubic
The congestion algorithm can be changed to BBR,
Code:
$sysctl -w net.ipv4.tcp_congestion_control=bbr
net.ipv4.tcp_congestion_control = bbr
Iperf then gives the full line speed,
Code:
# iperf3 -c lucknowan -p 5201
Connecting to host lucknowan, port 5201
[ 4] local 157.245.100.246 port 39900 connected to lucknowan port 5201
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 14.6 MBytes 122 Mbits/sec 33 1021 KBytes
[ 4] 1.00-2.00 sec 18.4 MBytes 154 Mbits/sec 25 1.72 MBytes
[ 4] 2.00-3.00 sec 17.7 MBytes 149 Mbits/sec 13 1.73 MBytes
[ 4] 3.00-4.00 sec 17.7 MBytes 149 Mbits/sec 16 1.72 MBytes
[ 4] 4.00-5.00 sec 17.7 MBytes 149 Mbits/sec 14 1.72 MBytes
[ 4] 5.00-6.00 sec 17.7 MBytes 149 Mbits/sec 10 1.72 MBytes
[ 4] 6.00-7.00 sec 17.7 MBytes 149 Mbits/sec 20 1.72 MBytes
[ 4] 7.00-8.00 sec 17.7 MBytes 149 Mbits/sec 41 1.71 MBytes
[ 4] 8.00-9.00 sec 17.7 MBytes 149 Mbits/sec 12 1.73 MBytes
[ 4] 9.00-10.00 sec 17.4 MBytes 146 Mbits/sec 13 1.18 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 174 MBytes 146 Mbits/sec 197 sender
[ 4] 0.00-10.00 sec 172 MBytes 144 Mbits/sec receiver
iperf Done.
Last edited: