在主机上创建容器,往往有不同的容器网络模式可供选择。但是这些不同的容器网络模式之间的网络性能之间又有什么区别呢?对于容器业务的影响是否很大,是否会影响其他容器的运行?为此,测试不同容器网络下的网络性能,使用iperf3工具进行测试,容器测试环境如下:
- CPU:N100 4核心4线程
- 内存:DDR5 4800MHz 16GB
- 网络I/O:2.5Gbps
- iperf3:容器化
对端测试环境如下:
- CPU:14600KF
- 内存:DDR5 6000MHz 16*2
- 网络I/O:2.5Gbps
将使用以下网络环境进行测试:
- 桥接(bridge)
- 主机(host)
- macvlan
测试项目有:
- TCP/UDP 吞吐量
- TCP/UDP重传与丢包
分别创建三种不同的容器网络进行测试,为了保证容器之间的资源合理利用,容器的内存限制为256MiB,CPU限制为1核心

创建完成三种不同的网络容器

bridge网络模式性能测试
TCP吞吐量测试
测试命令:iperf3 -c 192.168.5.34 -p 50001 -t 60
测试结果:这次测试结果表明,在60秒的时间内,共传输数据16.4GB,网络带宽为2.35Gbps。

UDP吞吐量测试
测试命令:iperf3 -c 192.168.5.34 -p 50001 -t 60 -u -b 2.5G
测试结果:这次测试结果表明,在60秒时间内,共传输数据16.7GB,网络带宽为2.39Gbps,延迟为0.040ms,丢包率为0.98%。

TCP反向性能
测试命令:iperf3 -c 192.168.5.34 -p 50001 -R
测试结果:这次测试结果表明,在10秒的时间内,共传输2.76GB的数据,网络带宽为2.37Gbps,Retr为0。

UDP反向性能
测试命令:iperf3 -c 192.168.5.34 -p 50001 -t 60 -u -b 2.5G -R
测试结果:这次测试结果表明,在60秒的时间内,共传输11.6GB的数据,网络带宽为1.65Gbps,延迟为0.013ms。丢包率为0.086%。

host网络模式性能测试
TCP吞吐量测试
测试命令:iperf3 -c 192.168.5.34 -p 50002 -t 60
测试结果:这次测试结果表明,在60秒的时间内,共传输16.6GB的数据,网络带宽为2.37Gbps。

UDP吞吐量测试
测试命令:iperf3 -c 192.168.5.34 -p 50001 -t 60 -u -b 2.5G
测试结果:这次测试结果表明,在60秒的时间内,共传输16.1GB的数据,网络带宽为2.31Gbps,延迟为0.020ms,丢包率为2%。

TCP反向性能
测试命令:iperf3 -c 192.168.5.34 -p 50001 -R
测试结果:这次测试结果表明,在10秒的时间内,共传输了2.77GB的数据,网络带宽为2.37Gbps,重传为0。

UDP反向性能
测试命令:iperf3 -c 192.168.5.34 -p 50001 -t 60 -u -b 2.5G -R
测试结果:这次测试结果表明,在60秒的时间内,共传输11GB的数据,网络带宽为1.67Gbps,抖动为0.017ms,丢包率为0.15%。

macvlan网络模式性能测试
TCP吞吐量测试
测试命令:iperf3 -c 192.168.5.101 -t 60
测试结果:这次测试结果表明,在60秒的时间内,共传输16.6GB的数据,网络带宽为2.37Gbps。

UDP吞吐量测试
测试命令:iperf3 -c 192.168.5.101 -t 60 -u -b 2.5G
测试结果:这次测试结果表明,在60秒的时间内,共传输16.0GB的数据,网络带宽为2.29Gbps,抖动为0.003ms,丢包率为1.4%

TCP反向性能
测试命令:iperf3 -c -R192.168.5.101
测试结果:这次测试结果表明,在10秒的时间内,共传输2.77GB的数据,网络带宽为2.37Gbps,重传为0.

UDP反向性能
测试命令:iperf3 -c -t 60 -u -b 2.5G -R192.168.5.101
测试结果:这次测试结果表明,在60秒的时间内,共传输了167.4GB的数据,网络带宽为2.35Gbps,抖动为0.004ms,丢包率为0.21%

总结
这次测试结果表明,macvlan网络模式的网络性能更优,host网络模式下的网络性能相对较差。

Comments NOTHING