Не могли бы вы помочь мне понять, почему увеличение окна TCP в iperf3 приводит к значительному снижению пропускной способности по сравнению со значениями по умолчанию?
Первый тест, приведенный ниже, был сделан с настройками по умолчанию, но во втором я попытался настроить размер окна TCP до 5M
Также было бы удивительно, если бы вы могли объяснить, как рассчитывается CWND и что такое CWND.
Спасибо!
**iperf3 -d -V -c 10.145.2.170**
iperf 3.1.3
Linux non-prod10.145.1.168 5.0.0-1032-azure #34-Ubuntu SMP Mon Feb 10 19:37:25 UTC 2020 x86_64
send_parameters:
{
"tcp": true,
"omit": 0,
"time": 10,
"parallel": 1,
"len": 131072,
"client_version": "3.1.3"
}
Time: Tue, 25 Feb 2020 17:31:02 GMT
Connecting to host 10.145.2.170, port 5201
Cookie: non-prod10.145.1.168.1582651862.2213
TCP MSS: 1364 (default)
SO_SNDBUF is 16384
[ 4] local 10.145.1.168 port 51730 connected to 10.145.2.170 port 5201
Starting Test: protocol: TCP, 1 streams, 131072 byte blocks, omitting 0 seconds, 10 second test
tcpi_snd_cwnd 1697 tcpi_snd_mss 1364 tcpi_rtt 18304
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 90.3 MBytes 757 Mbits/sec 5 2.21 MBytes
tcpi_snd_cwnd 1724 tcpi_snd_mss 1364 tcpi_rtt 17920
[ 4] 1.00-2.00 sec 120 MBytes 1.01 Gbits/sec 1 2.24 MBytes
tcpi_snd_cwnd 1280 tcpi_snd_mss 1364 tcpi_rtt 17664
[ 4] 2.00-3.00 sec 106 MBytes 891 Mbits/sec 18 1.67 MBytes
tcpi_snd_cwnd 1374 tcpi_snd_mss 1364 tcpi_rtt 17821
[ 4] 3.00-4.00 sec 90.0 MBytes 755 Mbits/sec 1 1.79 MBytes
tcpi_snd_cwnd 1402 tcpi_snd_mss 1364 tcpi_rtt 17179
[ 4] 4.00-5.00 sec 96.2 MBytes 807 Mbits/sec 0 1.82 MBytes
tcpi_snd_cwnd 1430 tcpi_snd_mss 1364 tcpi_rtt 17019
[ 4] 5.00-6.00 sec 93.8 MBytes 786 Mbits/sec 0 1.86 MBytes
tcpi_snd_cwnd 1458 tcpi_snd_mss 1364 tcpi_rtt 17777
[ 4] 6.00-7.00 sec 102 MBytes 860 Mbits/sec 0 1.90 MBytes
tcpi_snd_cwnd 1488 tcpi_snd_mss 1364 tcpi_rtt 19240
[ 4] 7.00-8.00 sec 106 MBytes 891 Mbits/sec 0 1.94 MBytes
tcpi_snd_cwnd 1517 tcpi_snd_mss 1364 tcpi_rtt 17155
[ 4] 8.00-9.00 sec 108 MBytes 902 Mbits/sec 0 1.97 MBytes
tcpi_snd_cwnd 1547 tcpi_snd_mss 1364 tcpi_rtt 17021
send_results
{
"cpu_util_total": 2.597662,
"cpu_util_user": 0.159677,
"cpu_util_system": 2.437965,
"sender_has_retransmits": 1,
"streams": [{
"id": 1,
"bytes": 1073825612,
"retransmits": 25,
"jitter": 0,
"errors": 0,
"packets": 0
}]
}
get_results
{
"cpu_util_total": 2.846439,
"cpu_util_user": 0.173269,
"cpu_util_system": 2.673169,
"sender_has_retransmits": -1,
"streams": [{
"id": 1,
"bytes": 1069373272,
"retransmits": -1,
"jitter": 0,
"errors": 0,
"packets": 0
}]
}
[ 4] 9.00-10.00 sec 111 MBytes 933 Mbits/sec 0 2.01 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
Test Complete. Summary Results:
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 1.00 GBytes 859 Mbits/sec 25 sender
[ 4] 0.00-10.00 sec 1020 MBytes 855 Mbits/sec receiver
CPU Utilization: local/sender 2.6% (0.2%u/2.4%s), remote/receiver 2.8% (0.2%u/2.7%s)
iperf Done.
**iperf3 -d -V -c 10.145.2.170 -w5M**
iperf 3.1.3
Linux non-prod10.145.1.168 5.0.0-1032-azure #34-Ubuntu SMP Mon Feb 10 19:37:25 UTC 2020 x86_64
send_parameters:
{
"tcp": true,
"omit": 0,
"time": 10,
"parallel": 1,
"window": 5242880,
"len": 131072,
"client_version": "3.1.3"
}
Time: Tue, 25 Feb 2020 17:31:40 GMT
Connecting to host 10.145.2.170, port 5201
Cookie: non-prod10.145.1.168.1582651900.6068
TCP MSS: 1364 (default)
SO_SNDBUF is 425984
[ 4] local 10.145.1.168 port 51866 connected to 10.145.2.170 port 5201
Starting Test: protocol: TCP, 1 streams, 131072 byte blocks, omitting 0 seconds, 10 second test
tcpi_snd_cwnd 499 tcpi_snd_mss 1364 tcpi_rtt 17987
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 20.6 MBytes 172 Mbits/sec 0 665 KBytes
tcpi_snd_cwnd 499 tcpi_snd_mss 1364 tcpi_rtt 17861
[ 4] 1.00-2.00 sec 20.9 MBytes 175 Mbits/sec 0 665 KBytes
tcpi_snd_cwnd 499 tcpi_snd_mss 1364 tcpi_rtt 17818
[ 4] 2.00-3.00 sec 22.2 MBytes 186 Mbits/sec 0 665 KBytes
tcpi_snd_cwnd 499 tcpi_snd_mss 1364 tcpi_rtt 18615
[ 4] 3.00-4.00 sec 22.1 MBytes 185 Mbits/sec 0 665 KBytes
tcpi_snd_cwnd 499 tcpi_snd_mss 1364 tcpi_rtt 18116
[ 4] 4.00-5.00 sec 22.1 MBytes 186 Mbits/sec 0 665 KBytes
tcpi_snd_cwnd 499 tcpi_snd_mss 1364 tcpi_rtt 17549
[ 4] 5.00-6.00 sec 22.2 MBytes 186 Mbits/sec 0 665 KBytes
tcpi_snd_cwnd 499 tcpi_snd_mss 1364 tcpi_rtt 17981
[ 4] 6.00-7.00 sec 22.0 MBytes 184 Mbits/sec 8 665 KBytes
tcpi_snd_cwnd 499 tcpi_snd_mss 1364 tcpi_rtt 18214
[ 4] 7.00-8.00 sec 22.1 MBytes 185 Mbits/sec 0 665 KBytes
tcpi_snd_cwnd 499 tcpi_snd_mss 1364 tcpi_rtt 18020
[ 4] 8.00-9.00 sec 22.2 MBytes 186 Mbits/sec 0 665 KBytes
tcpi_snd_cwnd 499 tcpi_snd_mss 1364 tcpi_rtt 18190
send_results
{
"cpu_util_total": 1.340431,
"cpu_util_user": 0.186815,
"cpu_util_system": 1.153586,
"sender_has_retransmits": 1,
"streams": [{
"id": 1,
"bytes": 229374460,
"retransmits": 8,
"jitter": 0,
"errors": 0,
"packets": 0
}]
}
get_results
{
"cpu_util_total": 0.563234,
"cpu_util_user": 0.051782,
"cpu_util_system": 0.511449,
"sender_has_retransmits": -1,
"streams": [{
"id": 1,
"bytes": 229374460,
"retransmits": -1,
"jitter": 0,
"errors": 0,
"packets": 0
}]
}
[ 4] 9.00-10.00 sec 22.5 MBytes 189 Mbits/sec 0 665 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
Test Complete. Summary Results:
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 219 MBytes 183 Mbits/sec 8 sender
[ 4] 0.00-10.00 sec 219 MBytes 183 Mbits/sec receiver
CPU Utilization: local/sender 1.3% (0.2%u/1.2%s), remote/receiver 0.6% (0.1%u/0.5%s)
iperf Done.