作者:张荣滨,酷划在线后端架构师,关注微服务治理,容器化技术,Service Mesh等技术领域

terway网络性能测试

酷划在线成立于2014年,是国内激励广告行业的领军者。酷划致力于打造一个用户、广告主、平台三方共赢的激励广告生态体系,旗下产品“酷划锁屏”“淘新闻”分别为锁屏、资讯行业的领跑者。

伴随着公司服务端架构向微服务演进的过程中,服务增多,运维成本提高,资源利用率低,等问题日益凸显,目前公司服务器规模超过700+台ECS,服务数量1000+,随着容器化技术的成熟,计划在近期大规模将生产环境迁移到阿里云容器服务平台上,但由于VxLan等主机转发模式的Overlay网络均有一定的性能损耗,所以我们将目光瞄准阿里云容器服务平台开源的terway网络插件,期望使用能够动态绑定弹性网卡的容器服务达到ECS的网络性能,进而对terway网络性能进行详细的评估。

测试说明

本测试基于阿里云容器服务Kubernetes版(1.12.6-aliyun.1),Kubernetes集群使用阿里云控制台创建,测试分两部分:

  • 同可用区网络性能测试
  • 跨可用区网络性能测试

本测试的所有网络流量均为跨节点通信(容器分布在不同的宿主机节点上)
本测试的所有测试均穿插测试超过3组取结果平均值

关键指标

  • 吞吐量(Gbit/sec)
  • PPS(Packet Per Second)
  • 延时(ms)

测试方法

吞吐量,PPS测试使用iperf3
版本信息如下:

iperf 3.6 (cJSON 1.5.2)
Linux iperf3-terway-57b5fd565-bwc28 3.10.0-957.5.1.el7.x86_64 #1 SMP Fri Feb 1 14:54:57 UTC 2019 x86_64
Optional features available: CPU affinity setting, TCP congestion algorithm setting, sendfile / zerocopy, socket pacing

测试机命令:

# 启动服务器模式,暴露在端口16000,每1秒输出一次统计数据
iperf3 -s -i 1 -p 16000

陪练机命令:

# 测试吞吐量
# 客户端模式,默认使用tcp通信,目标机为172.16.13.218,持续时间45,-P参数指定网卡队列数为4(跟测试的机型有关),目标端口16000
iperf3 -c 172.16.13.218 -t 45 -P 4 -p 16000
# 测试PPS
# 客户端模式,使用udp发包,包大小为16字节,持续时间45秒,-A指定CPU亲和性绑定到第0个CPU
iperf3 -u -l 16 -b 100m -t 45 -c 172.16.13.218 -i 1 -p 16000 -A 0
# 测试延迟
# ping目标机30次
ping -c 30 172.16.13.218

测试结果

同可用区网络性能测试

机型说明

测试机型选用ecs.sn1ne.2xlarge,规格详情如下

测试结果

说明:纵轴表达流量流出方向,横轴表达流量流入方向,所以组合情况一共有9种


名词解释:

  • terway-eni:代表动态创建弹性网卡并绑定POD的terway网络模式
  • terway:代表默认的terway网络模式

结果解读

  • 各种模式下均可将网卡带宽打满,从吞吐量上看结果无明显区别
  • 从流量流入容器角度看数据,流向terway-eni模式在各项指标均接近甚至超过流向宿主机的性能
  • 从流量流出容器角度看数据,terway-eni模式性能接近但略低于宿主机流量流出性能,但明显高于terway默认网络

跨可用区网络性能测试

测试机型选用ecs.sn1ne.8xlarge,规格详情如下

测试结果

说明:纵轴表达流量流出方向,横轴表达流量流入方向,所以组合情况一共有9种

名词解释:

  • terway-eni:代表动态创建弹性网卡并绑定POD的terway网络模式
  • terway:代表默认的terway网络模式

结果解读

  • 由于增加了跨可用区的调用,使影响结果的因素变多
  • host to host的吞吐量,并没有达到网卡的理论最大值,但是流入terway-eni的吞吐量基本达到了机型的带宽6 Gbit/sec,需要进一步调查宿主机间吞吐量上不去的原因
  • 从容器流出的流量角度看,terway-eni模式整体明显高于terway默认网络模式,但低于宿主机网络性能
  • 从流入容器的流量角度看,terway-eni的PPS结果数据优势比较明显,接近甚至超越宿主机网卡性能

总体结论

terway的网络性能测试中表现出了与宣传一致的性能,通过与作者的沟通中了解到,由于将弹性网卡直接放入POD的namespace内,虽然网卡驱动的中断依然由宿主机内核完成,但是网络包不会出现在宿主机namespace的网络栈,减少了宿主机的一层cni网桥转发及复杂路由的性能损失,这也是为什么在某些场景下超过宿主机网络栈性能的表现。

阿里云容器服务cni网络插件terway非官方网络性能测试相关推荐

  1. 使用阿里云容器服务Jenkins 2.0实现持续集成之the tag you want篇(updated on 2017.09.06)...

    最近收到很多有关于持续集成场景中image tag的反馈,例如,每次image build的时候希望"Jenkins"能够给image标上不一样的tag,部署应用到阿里云容器服务希 ...

  2. 阿里云容器服务新增支持Kubernetes编排系统,性能重大提升

    摘要: 作为容器编排系统的两大流派, Kubernetes和Swarm的重要性不言而喻.融合了两大高性能集成的阿里云容器服务,不仅可以降低50%的基础架构成本,提高交付速度将产品迭代加快13倍,还可以 ...

  3. 阿里云容器服务多项重磅发布:高效智能、安全无界的新一代平台

    在云原生带来的云计算未来趋势下,容器已经成为用户使用云的新界面. 阿里云容器产品发布近 7 年以来,已成长发展为企业的云原生操作系统,技术和服务能力日趋成熟,但创新从未止步.日前,阿里云研究员 &am ...

  4. 阿里云容器服务新增支持Kubernetes编排系统,性能重大提升 1

    摘要: 作为容器编排系统的两大流派, Kubernetes和Swarm的重要性不言而喻.融合了两大高性能集成的阿里云容器服务,不仅可以降低50%的基础架构成本,提高交付速度将产品迭代加快13倍,还可以 ...

  5. 与阿里云容器服务 ACK 发行版的深度对话第一弹:如何借助 sealer 实现快速构建 部署

    作者:淮右.王飞.瑜佳 记者: 阿里云原生的读者朋友们大家好,今天应广大感兴趣朋友们的强烈要求,我们邀请来了「阿里云容器服务 ACK 发行版」做客我们的栏目,为大家讲述它的身世之谜,以及它是如何和伙伴 ...

  6. 让创新触手可及,阿里云容器服务 ACK 发行版开放免费下载

    随着云原生正在成为数字经济创新基石,企业的云原生应用逐渐呈现出类型更加丰富.场景更加复杂的特点.这时,构建于中心云上的能力将越来越难以支撑企业架构敏捷.业务灵活创新等需求. 为了进一步拓展云的边界,让 ...

  7. 2021 阿里云容器服务年度盘点:企业级容器应用变化和技术趋势观察

    作者:溪洋 在云原生浪潮的推动下,容器和 Kubernetes 技术和应用发展迅猛.最近,云原生计算基金会 CNCF 发布了与 SlashData 联手撰写的 最新版<云原生开发现状报告> ...

  8. 阿里云容器服务飞天敏捷版详解

    阿里云容器服务飞天敏捷版详解 libinjingshan 2017-04-24 23953浏览量 简介: 阿里云容器服务提供了公共云.专有云以及飞天敏捷版三种部署形态,全方位地满足企业客户利用CaaS ...

  9. 比心云平台基于阿里云容器服务 ACK 的弹性架构实践

    作者:韩韬|比心技术 前言 应用容器化改造后,不可避免地会面临这样一个问题:Kubernetes 集群的 Node 资源配置不足会导致 Pod 无法及时运行,购买过多的 Node 又会导致资源的闲置浪 ...

最新文章

  1. Java虚拟机的内存空间有几种
  2. 【多线程】ThreadPoolExecutor类源码解析----续(二进制相关运算)
  3. django的基本操作流程
  4. IDE 的未来在哪里?
  5. 在struts中实现验证码
  6. 学习自己动手设计数据库
  7. 几何画板如何绘制动态正切函数图像
  8. deepinv2 添加打印机_科学网-Deepin Linux虚拟PDF打印机的安装与妙用-黄健的博文
  9. 获取微信小程序具体链接
  10. Harvester云计算超融合基础架构HCI软件
  11. 禁止小程序输入Emoji表情符
  12. 蓄电池基础知识安培小时AH和放电速率HR
  13. c语言人机界面,C语言实现可视化人机界面的有效方法
  14. 1.机器人导航关键技术研究
  15. 【专业的项目管理工具】Curio for Mac 13.0
  16. 【视频笔记】华中农业大学-分子生物学:P7-基因的结构 1
  17. 【数据挖掘】频繁模式挖掘及Python实现
  18. 机器学习贝叶斯学习心得_贝叶斯元学习就是您所需要的
  19. [LeetCode]682. 棒球比赛(Baseball Game)Java
  20. 给ROCK64安装OpenCV3

热门文章

  1. CentOS6安裝Cacti
  2. GCDPlot 0.31 发布
  3. tomcat启动时出现错误
  4. 【Android】刷Rom:adb reboot bootloader
  5. 跨域资源共享的10种方式
  6. The Web Audio autoplay policy will be re-enabled in 音频无法播放
  7. [MySQL光速入门]012 作业解答
  8. Luogu P3830 [SHOI2012]随机树 | 期望 DP
  9. mongodb带认证的副本集搭建
  10. CodeForces - 2B The least round way