大数跨境
0
0

容器间UDP通信性能优化效果测试

容器间UDP通信性能优化效果测试 菁蓉联创
2020-11-11
1
导读:容器间UDP通信性能优化效果测试



容器间UDP通信性能优化效果测试




 







1. 测试简介









目前,docker容器技术在越来越多的领域使用,其承载的业务也越来越多,尤其是网络相关的业务。容器通常对外提供网络服务端口,因此容器间的网络通信也越来越多。在通常的容器网络方案中,两个容器间的网络通信底层通常使用VETH、MACVLAN、SRIOV等方式,使用这些方式,同一主机间两个容器每一个通信报文,都需要到内核的UDP层、IP层、MAC层、网桥或外部交换层走一圈,效率较低。针对这个问题,我司对内核协议栈进行了优化改造,为同一主机上的容器间的UDP报文提供FASTPATH路径,极大提升容器间UDP通信性能。为了验证容器间UDP通信优化后的效果,进行了本文中的测试。











2. 硬件平台









SOC:全志T3,ARM A7 4核









3. 容器间UDP通信延时测试









     udp通信延时使用lmbench中的lat_udp工具来测试,具体测试方法如下:





01


关闭优化功能的情况下:

  (1)启动两个容器A与B,使用veth的网络方式。其中容器A ip地址为172.17.0.2,容器B ip地址为172.17.0.3;

 (2)容器A中执行lat_udp -s,表示启动服务端程序;

  (3)容器B中执行:lat_udp -m 256 -W 2000000 -N 6 172.17.0.2,表示与容器A进行udp通信测试。

 (4)等待10s左右,打印出通信演示,如图所示:

可见不开启优化功能的情况下udp通信演示在115us左右。

02


开启优化功能的情况下:

(1)启动两个容器A与B,使用veth的网络方式。其中容器A ip地址为172.17.0.2,容器B ip地址为172.17.0.3;
(2)容器A中执行lat_udp -s,表示启动服务端程序;
 (3)容器B中执行:lat_udp -m 256 -W 2000000 -N 6 172.17.0.2,表示与容器A进行udp通信测试。
(4)等待10s左右,打印出通信演示,如图所示:

可见,优化功能将容器间的UDP延时由115us降低到了65us,降低比例高达40%.






4. 容器间UDP通信带宽测试





使用netperf工具来测试容器间UDP通信带宽。测试方法如下:

 (1)启动两个容器A与B,使用veth的网络方式。其中容器A ip地址为172.17.0.2,容器B ip地址为172.17.0.3;

 (2)容器A中执行netserver -N,表示启动服务端程序;

 (3)容器B中执行:netperf  -H 172.17.0.2  -t UDP_STREAM -- -m 64,表示与容器A进行udp通信带宽测试,其中-m 64 表示发送的包大小。

(4)等待10s左右,打印出通信演示.

不同包大小的测试数据如下所示:

可见,在带宽上,容器间的UDP通信带宽优化后的性能比优化前的提升在130%-200%,效果相当明显。



【声明】内容源于网络
0
0
菁蓉联创
成都菁蓉联创科技有限公司专注“中天鲲鹏”国产嵌入式系统开发。产品可无缝地服务于工业控制、人工智能、无人驾驶、边缘计算等领域,是工业互联网、物联网、5G、车联网等新经济业态的基础和关键部分。可实现对国外同类产品的替代,产品极具竞争优势。
内容 22
粉丝 0
菁蓉联创 成都菁蓉联创科技有限公司专注“中天鲲鹏”国产嵌入式系统开发。产品可无缝地服务于工业控制、人工智能、无人驾驶、边缘计算等领域,是工业互联网、物联网、5G、车联网等新经济业态的基础和关键部分。可实现对国外同类产品的替代,产品极具竞争优势。
总阅读10
粉丝0
内容22