背景
上回我們說過,由于UDP方式是在用戶層做轉(zhuǎn)發(fā),會(huì)多一次報(bào)文拷貝,因此性能上會(huì)比在內(nèi)核做轉(zhuǎn)發(fā)的vxlan差,但是沒有具體數(shù)據(jù)總是不太直觀,因此我們小測一波。
準(zhǔn)備
在兩個(gè)節(jié)點(diǎn)上起兩個(gè)容器,安裝上帶寬測試工具iperf3,
yum install -y iperf3
之后分別在vxlan和UDP方式下測試即可。
iperf3使用方式
iperf3測試采用C/S方式,因此兩個(gè)節(jié)點(diǎn)一個(gè)運(yùn)行服務(wù)端,一個(gè)運(yùn)行客戶端。
首先在服務(wù)端運(yùn)行以下命令:
[root@8d0db8f5a8b4 /]# iperf3 -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
該命令讓iperf3作為服務(wù)端,并監(jiān)聽5201端口,等待客戶端連接。
然后在客戶端也就是另一個(gè)容器中,運(yùn)行以下命令:
[root@8d0db8f5a8b4 /]# iperf3 -c 10.108.69.2 -t 5
Connecting to host 10.108.69.2, port 5201
[? 4] local 10.108.93.2 port 50028 connected to 10.108.69.2 port 5201
[ ID] Interval? ? ? ? ? Transfer? ? Bandwidth? ? ? Retr? Cwnd
[? 4]? 0.00-1.00? sec? 45.1 MBytes? 378 Mbits/sec? ? 0? 1.74 MBytes? ? ?
[? 4]? 1.00-2.00? sec? 97.5 MBytes? 816 Mbits/sec? ? 0? 1.89 MBytes? ? ?
[? 4]? 2.00-3.01? sec? 152 MBytes? 1.27 Gbits/sec? ? 0? 1.97 MBytes? ? ?
[? 4]? 3.01-4.00? sec? 128 MBytes? 1.08 Gbits/sec? 119? 1.50 MBytes? ? ?
[? 4]? 4.00-5.00? sec? 136 MBytes? 1.14 Gbits/sec? ? 0? 1.61 MBytes? ? ?
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval? ? ? ? ? Transfer? ? Bandwidth? ? ? Retr
[? 4]? 0.00-5.00? sec? 559 MBytes? 937 Mbits/sec? 119? ? ? ? ? ? sender
[? 4]? 0.00-5.00? sec? 554 MBytes? 928 Mbits/sec? ? ? ? ? ? ? ? ? receiver
iperf Done.
其中,
-c 指定要連接的服務(wù)端,也就是第一個(gè)容器的ip
-t 指定測試時(shí)間
最后的輸出我們可以看到,采用vxlan的發(fā)送帶寬大概是937M/s。
接下來換UDP作為backend來測試,
[root@8d0db8f5a8b4 /]# iperf3 -c 10.8.46.2 -t 5
Connecting to host 10.8.46.2, port 5201
[? 4] local 10.8.101.2 port 51674 connected to 10.8.46.2 port 5201
[ ID] Interval? ? ? ? ? Transfer? ? Bandwidth? ? ? Retr? Cwnd
[? 4]? 0.00-1.00? sec? 16.7 MBytes? 139 Mbits/sec? 66? ? 130 KBytes? ? ?
[? 4]? 1.00-2.01? sec? 14.3 MBytes? 119 Mbits/sec? 15? ? 115 KBytes? ? ?
[? 4]? 2.01-3.01? sec? 11.8 MBytes? 98.8 Mbits/sec? ? 8? ? 135 KBytes? ? ?
[? 4]? 3.01-4.00? sec? 12.3 MBytes? 104 Mbits/sec? 12? ? 111 KBytes? ? ?
[? 4]? 4.00-5.00? sec? 19.4 MBytes? 163 Mbits/sec? 16? ? 133 KBytes? ? ?
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval? ? ? ? ? Transfer? ? Bandwidth? ? ? Retr
[? 4]? 0.00-5.00? sec? 74.4 MBytes? 125 Mbits/sec? 117? ? ? ? ? ? sender
[? 4]? 0.00-5.00? sec? 74.0 MBytes? 124 Mbits/sec? ? ? ? ? ? ? ? ? receiver
iperf Done.
采用udp方式,發(fā)送帶寬大概為125M/s,可見,vxlan的性能明顯優(yōu)于udp方式,大概是udp的7.5倍。