在交换网络上 VM 和裸机桌面之间的真实 Tailscale iperf3 结果
我们使用基于以下设备的网络测试了 iperf3 性能:
- 桌面:Ubuntu 21.10 i7-6700 CPU @ 3.40 GHz,使用 1Gbase-T 连接到
- 桌面交换机:Mikrotik CSS610-8G-2S+IN 使用 10GBase-T 多模 SFP+ 模块连接到:
- 核心交换机:Mikrotik CRS309-1G-8S+IN,使用 10GBase-T DAC 电缆连接到
- 虚拟化服务器:i5-6500 CPU @ 3.20GHz 运行 XCP-NG 8.2.1
- 虚拟机:Ubuntu 20.04,4 核,8GB RAM
Tailscale 版本为
tailscale_iperf_results.txt
1.24.1
tailscale commit: 1a9302b1edba91d0f638e775faeaa0ce2a6a25f8
other commit: 1331ed5836e1a0ab32b10e6ce8748e17ba2c7598
go version: go1.18.1-ts710a0d8610网络是完全交换的,不是路由的,我们通过 tailscale ping 确保 tailscale 实际使用交换连接。
测试 0:通过交换网络直接连接
桌面运行 iperf -s,虚拟机运行 iperf -c 10.9.2.10:
iperf_direct_desktop_to_vm.txt
Connecting to host 10.9.2.10, port 5201
[ 5] local 10.9.2.103 port 52944 connected to 10.9.2.10 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 94.7 MBytes 794 Mbits/sec 338 109 KBytes
[ 5] 1.00-2.00 sec 98.0 MBytes 822 Mbits/sec 353 148 KBytes
[ 5] 2.00-3.00 sec 96.6 MBytes 811 Mbits/sec 382 117 KBytes
[ 5] 3.00-4.00 sec 103 MBytes 862 Mbits/sec 334 116 KBytes
[ 5] 4.00-5.00 sec 101 MBytes 851 Mbits/sec 483 102 KBytes
[ 5] 5.00-6.00 sec 104 MBytes 874 Mbits/sec 503 126 KBytes
[ 5] 6.00-7.00 sec 105 MBytes 883 Mbits/sec 527 119 KBytes
[ 5] 7.00-8.00 sec 108 MBytes 906 Mbits/sec 451 105 KBytes
[ 5] 8.00-9.00 sec 108 MBytes 903 Mbits/sec 442 117 KBytes
[ 5] 9.00-10.00 sec 107 MBytes 900 Mbits/sec 461 123 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 1.00 GBytes 861 Mbits/sec 4274 sender
[ 5] 0.00-10.00 sec 1.00 GBytes 860 Mbits/sec receiver
iperf Done.虚拟机运行 iperf -s,桌面运行 iperf -c 10.9.2.103
iperf_direct_vm_to_desktop.txt
Connecting to host 10.9.2.103, port 5201
[ 5] local 10.9.2.10 port 42630 connected to 10.9.2.103 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 88.5 MBytes 742 Mbits/sec 0 966 KBytes
[ 5] 1.00-2.00 sec 90.0 MBytes 755 Mbits/sec 0 1.12 MBytes
[ 5] 2.00-3.00 sec 87.5 MBytes 734 Mbits/sec 33 833 KBytes
[ 5] 3.00-4.00 sec 90.0 MBytes 755 Mbits/sec 0 833 KBytes
[ 5] 4.00-5.00 sec 88.8 MBytes 745 Mbits/sec 0 1.00 MBytes
[ 5] 5.00-6.00 sec 88.8 MBytes 744 Mbits/sec 0 1.00 MBytes
[ 5] 6.00-7.00 sec 87.5 MBytes 734 Mbits/sec 0 1.09 MBytes
[ 5] 7.00-8.00 sec 90.0 MBytes 755 Mbits/sec 0 1.09 MBytes
[ 5] 8.00-9.00 sec 90.0 MBytes 755 Mbits/sec 0 1.09 MBytes
[ 5] 9.00-10.00 sec 90.0 MBytes 755 Mbits/sec 13 863 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 891 MBytes 747 Mbits/sec 46 sender
[ 5] 0.00-10.00 sec 888 MBytes 745 Mbits/sec receiver
iperf Done.虚拟机托管 iperf -s 服务器即发送数据的方向显示性能略有下降
测试 1:桌面运行 iperf -s,虚拟机运行 iperf -c
iperf_tailscale_desktop_to_vm.txt
Connecting to host 100.64.0.2, port 5201
[ 5] local 100.64.0.3 port 37466 connected to 100.64.0.2 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 39.4 MBytes 330 Mbits/sec 62 149 KBytes
[ 5] 1.00-2.00 sec 45.8 MBytes 385 Mbits/sec 44 150 KBytes
[ 5] 2.00-3.00 sec 38.9 MBytes 326 Mbits/sec 97 122 KBytes
[ 5] 3.00-4.00 sec 47.9 MBytes 401 Mbits/sec 7 242 KBytes
[ 5] 4.00-5.00 sec 39.5 MBytes 332 Mbits/sec 118 110 KBytes
[ 5] 5.00-6.00 sec 46.6 MBytes 391 Mbits/sec 32 136 KBytes
[ 5] 6.00-7.00 sec 41.8 MBytes 351 Mbits/sec 42 159 KBytes
[ 5] 7.00-8.00 sec 44.3 MBytes 372 Mbits/sec 91 104 KBytes
[ 5] 8.00-9.00 sec 36.1 MBytes 303 Mbits/sec 72 133 KBytes
[ 5] 9.00-10.00 sec 41.5 MBytes 348 Mbits/sec 39 139 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 422 MBytes 354 Mbits/sec 604 sender
[ 5] 0.00-10.00 sec 421 MBytes 353 Mbits/sec receiver
iperf Done.测试 2:虚拟机运行 iperf -s,桌面运行 iperf -c
iperf_tailscale_vm_to_desktop.txt
Connecting to host 100.64.0.3, port 5201
[ 5] local 100.64.0.2 port 36744 connected to 100.64.0.3 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 23.7 MBytes 199 Mbits/sec 104 89.9 KBytes
[ 5] 1.00-2.00 sec 23.6 MBytes 198 Mbits/sec 80 49.2 KBytes
[ 5] 2.00-3.00 sec 21.1 MBytes 177 Mbits/sec 59 54.0 KBytes
[ 5] 3.00-4.00 sec 23.6 MBytes 198 Mbits/sec 68 69.6 KBytes
[ 5] 4.00-5.00 sec 19.1 MBytes 160 Mbits/sec 77 48.0 KBytes
[ 5] 5.00-6.00 sec 25.3 MBytes 212 Mbits/sec 76 62.4 KBytes
[ 5] 6.00-7.00 sec 21.4 MBytes 179 Mbits/sec 50 107 KBytes
[ 5] 7.00-8.00 sec 25.6 MBytes 215 Mbits/sec 35 124 KBytes
[ 5] 8.00-9.00 sec 22.5 MBytes 188 Mbits/sec 71 48.0 KBytes
[ 5] 9.00-10.00 sec 25.0 MBytes 209 Mbits/sec 42 64.8 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 231 MBytes 194 Mbits/sec 662 sender
[ 5] 0.00-10.01 sec 230 MBytes 193 Mbits/sec receiverUDP 测试
UDP 测试与 TCP 测试大致相似(尽管吞吐量略高,高达 400 Mbit/s),包括对连接方向的敏感性。
结果解读
Tailscale 对网络速度有显著影响,在典型的几年前的桌面和虚拟机设置下,通常无法达到接近千兆的 iperf3 速度。但是,200-400 Mbit/s 的吞吐量对大多数应用来说已经足够了。
有趣的是,速度高度依赖于功能较弱的虚拟机和功能较强的桌面之间的传输方向,两个方向之间有 x1.5 … x2 的差异。这可能归因于加密或解密数据所需的计算量。
Check out similar posts by category:
Networking
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow