sar*_* sh 1 performance iperf tcp udp
我正在通过 iperf3 测量 tcp 和 udp 吞吐量。我在虚拟机中运行 iperf3,一台作为服务器,另一台作为客户端。VM 通过 10 Gbps 链路进行连接。结果表明tcp比udp获得更高的吞吐量。然而,正如我们所知,TCP 运行更多的算法和计算,并且还具有三向握手,那么为什么 udp 吞吐量小于 tcp?这与 tcp 和 udp 的缓冲区大小有关吗?下面是 tcp 和 udp 测量的结果。很明显,iperf 在特定时间内为 tcp 发送的数据比 udp 发送的数据多,但为什么呢?
TCP:8.88 Gbps
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 922 MBytes 7.73 Gbits/sec 1 3.04 MBytes
[ 4] 1.00-2.00 sec 1.04 GBytes 8.92 Gbits/sec 0 3.04 MBytes
[ 4] 2.00-3.00 sec 1.07 GBytes 9.15 Gbits/sec 0 3.04 MBytes
[ 4] 3.00-4.00 sec 1.05 GBytes 8.99 Gbits/sec 0 3.04 MBytes
[ 4] 4.00-5.00 sec 1.04 GBytes 8.91 Gbits/sec 80 2.17 MBytes
[ 4] 5.00-6.00 sec 1.04 GBytes 8.91 Gbits/sec 0 2.35 MBytes
[ 4] 6.00-7.00 sec 1.04 GBytes 8.98 Gbits/sec 0 2.54 MBytes
[ 4] 7.00-8.00 sec 1.01 GBytes 8.69 Gbits/sec 176 1.88 MBytes
[ 4] 8.00-9.00 sec 1.04 GBytes 8.97 Gbits/sec 208 1.42 MBytes
[ 4] 9.00-10.00 sec 1.02 GBytes 8.80 Gbits/sec 0 1.48 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 10.3 GBytes 8.80 Gbits/sec 465 sender
[ 4]
Run Code Online (Sandbox Code Playgroud)
UDP:3.26 Gbps,数据包长度默认为8Kbytes
iperf3 -c "server address" -u -b 0
[ 4] local 145.100.132.197 port 58375 connected to 145.100.132.34 port 5201
[ ID] Interval Transfer Bandwidth Total Datagrams
[ 4] 0.00-1.00 sec 375 MBytes 3.15 Gbits/sec 48035
[ 4] 1.00-2.00 sec 394 MBytes 3.31 Gbits/sec 50457
[ 4] 2.00-3.00 sec 352 MBytes 2.94 Gbits/sec 45114
[ 4] 3.00-4.00 sec 391 MBytes 3.30 Gbits/sec 50092
[ 4] 4.00-5.00 sec 403 MBytes 3.38 Gbits/sec 51566
[ 4] 5.00-6.00 sec 403 MBytes 3.38 Gbits/sec 51599
[ 4] 6.00-7.00 sec 418 MBytes 3.51 Gbits/sec 53493
[ 4] 7.00-8.00 sec 372 MBytes 3.12 Gbits/sec 47651
[ 4] 8.00-9.00 sec 444 MBytes 3.73 Gbits/sec 56892
[ 4] 9.00-10.00 sec 399 MBytes 3.34 Gbits/sec 51033
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 4] 0.00-10.00 sec 3.86 GBytes 3.32 Gbits/sec 0.020 ms 354384/505931 (70%)
Run Code Online (Sandbox Code Playgroud)
根据数据包长度,udp 中的吞吐量是根据发送的数据包计算的,无论接收到的数据包如何!
TCP 包括拥塞控制。它将限制流量以防止数据包丢失。UDP 只是发送您请求的所有数据包,并希望得到最好的结果。
https://www.geeksforgeeks.org/tcp-congestion-control/
归档时间: |
|
查看次数: |
4329 次 |
最近记录: |