DOCKER容器跨宿主机通信方法(4):Flannel-Vxlan

Vxlan模式

flannel的vxlan模式,数据包是通过kernal来转发的,而当使用udp模式时候是flannel自己转发。UDP模式下性能要差很多,性能差别可参考一些测试:

UDP模式:

60秒单线程测试

iperf3 -c x.x.x.x -t 60
结果:
[ 4] 0.00-60.00 sec 3.33 GBytes 477 Mbits/sec 15716 sender
[ 4] 0.00-60.00 sec 3.33 GBytes 476 Mbits/sec receiver

开启30个线程传输

iperf3 -c x.x.x.x -t 60 -P 30
结果:
[SUM] 0.00-60.00 sec 3.08 GBytes 441 Mbits/sec 205692 sender
[SUM] 0.00-60.00 sec 3.06 GBytes 438 Mbits/sec receiver
多线程并没有带宽的提升反而由于多线程调度影响,降低带宽。在万兆网的环境下UDP的性能损耗还是挺大的。

Vxlan模式:

60秒单线程测试

iperf3 -c x.x.x.x -t 60
结果:
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-60.00 sec 10.1 GBytes 1.44 Gbits/sec 6957 sender
[ 4] 0.00-60.00 sec 10.1 GBytes 1.44 Gbits/sec receiver

开启30个线程传输

iperf3 -c x.x.x.x -t 60 -P 30
结果:
[SUM] 0.00-60.00 sec 10.1 GBytes 1.45 Gbits/sec 90559 sender
[SUM] 0.00-60.00 sec 10.1 GBytes 1.44 Gbits/sec receiver
在vxlan下多线程也没有性能提升。

从上述两组数据可以明显看出flannel在vxlan下性能要明显高于udp。

阅读更多

Icehouse Vxlan 配置

 

 

如果把上面的ovs配置中的l2_population 设阅读更多