利用听云Server和听云Network实测Kubernetes和Mesos在高并发下的网络性能

文章出自:听云博客

       随着公司业务的不断增长,我们的应用数量也有了爆发式增长。伴随着应用爆发式的增长,管理的难度也随之加大。如何在业务爆发增长的同时快速完成扩容成了很大的挑战。Docker的横空出世恰巧解决了我们的问题。利用Docker我们可以快速完成扩容缩容,且配置统一,不易出错。

       在Docker的集群管理选型上,我们比较纠结,目前比较流行的是Mesos和Kubernetes。从功能来说,我们更倾向于使用Kubernetes,他在容器编排方面的能力强于Meoso,且提供了持久化存储方案,更适合我们的场景。但是Kubernetes的网络模型要比Mesos复杂,在高并发的情况下性能能否满足需求成了关键问题。

       Mesos本身不处理网络问题,利用Marathon我们可以选择Docker本身提供的Host模式和Bridge模式。Host模式与宿主机共享网络栈网络性能是最高的,Bridge模式有待评测。

       Kubernetes采用扁平化的网络模型,要求每个Pod拥有一个全局唯一IP,Pod直接可以跨主机通信。目前比较成熟的方案是利用Flannel。Flannel有几种工作模式,分别是UDP、VXLAN、Host-gw和Aws-vpc。Aws-vpc有平台局限性我们不考虑,UDP性能较差不考虑。重点测试VXLAN和Host-gw。有相关评测测试过Host-gw性能好于VXLAN,但是Host-gw模式要求宿主机的网络满足二层直接交换。这在许多共有云平台是无法满足的。即使共有云平台某个机房内可以满足该网络要求,多机房互联时也无法满足该要求。如果VXLAN模式无法满足需求,多机房互联时就需要多个Kubernetes集群,增加了管理难度。

       为了使结果更具真实性,我们选了线上一个并发较高的系统进行评测。机器配置均为16C  32G,应用本身不存在性能问题。由于Kubernetes要求网络互联,我们测试Kubernetes时选用两台机器。

       综上,我们待测得环境如下:

待测机器 机器配置 机器数量
K8s flannel vxlan 16C 32G 2
K8s flannel host-gw 16C 32G 2
Mesos host模式 16C 32G 1
Mesos bridge模式 16C 32G 1
公有云虚机(对比) 16C 32G 1

       听云Server可以监控代码级的响应时间,在负载均衡上加上一个头信息可以监测到负载均衡到后端RealServer的阻塞时间。利用这个特性,我们可以用来评测上述几种网络模型的阻塞时间,从而得出高并发情况下VXLAN模型能否满足我们的需求。

       听云Network可以模拟请求到服务端,综合取得全国各地的网络访问时间,我们可以利用它来监测同时用这几种模型的时候是否对生产系统产生影响。

       测试方法:我们由公有云提供的负载均衡分别往这7台机器上打相同的流量。通过听云Server来监控这几种模型的阻塞时间来对比他们的性能差异。同时观察听云Network的可用性和访问性能,从客户端的角度看是否因为某个模型网络性能差导致用户体验变差。如下图所示:

       我们在负载均衡后加入这些机器

 

       其中第一个8080为公有云虚机,30099端口的为VXLAN的service,30098的两台机器为Host-gw的service,8081端口为Docker bridge模式,8080端口为Host模式。

       我们先用听云Network看下整体服务是否受到影响。

       下图是性能曲线图,有波动,属于正常范围。我们是HTTPS服务,前端负载均衡负责解码SSL,会消耗部分时间。

       排除掉一些点本身的网络问题,可用性基本在100%。

 

       接下来对比下看下听云Server。

       下图为吞吐率,平均值为425081rpm。 共7台,平均每台吞吐率约为60725rpm。

 

        下图为服务器响应时间图。

 

       时间约为0.67秒,与前边听云Network测试的时间基本吻合。

       从图上看大部分时间花在阻塞时间。这里我们要详细分解下阻塞时间,从而获取我们要评测的网络性能。

       阻塞时间的定义是从负载均衡到后端RealServer的时间。这个时间在我们的场景下为

       K8s: 阻塞时间=SSL解码时间+负载均衡响应时间+转发包给后端虚机时间+flanneld转发包时间。

       Mesos bridge: 阻塞时间=SSL解码时间+负载均衡响应时间+转发包给后端虚机时间+本机NAT转发时间

       Mesos host:  阻塞时间=SSL解码时间+负载均衡响应时间+转发包给后端Docker时间。

       云虚机对比:   阻塞时间=SSL解码时间+负载均衡响应时间+转发包给后端虚机时间。

       我们只要对比下各个测试情况下阻塞时间,将云虚机的Docker消耗时间记为0.

       其他机器与与云虚机作的阻塞时间做减法,就可以得出相对应网络消耗。

       两台机器的我们取平均值。

待测机器 平均阻塞时间 Docker本身消耗
K8s flannel vxlan 644.778ms 6.778ms
K8s flannel host-gw 641.585ms 3.585ms
Mesos host模式 650.021ms 12.021ms
Mesos bridge模式 643.67ms 5.67ms
公有云虚机(对比) 638ms 0

       上表的结果中,Host模式耗时最长出乎我们的意料,可能是个例因素导致。其他结果和我们的预期基本符合。其中VXLAN模式平均比公有云虚机多6ms的同时网络适应能力强,应该可以满足我们的需求。

       在更大的并发下会怎样呢?通过横向扩展是否能达到我们的性能需求呢?

       我们在此基础上测试了20台K8s vxlan模式与32台云主机机同时跑在上千万rpm的场景。从流量各半到逐步加大K8s的量来观察性能影响,同时观察其稳定性,测试结果下期揭晓。

       各位小伙伴在应用架构迁移到K8s、Mesos或者原生Docker时,也可以利用听云的工具,测试下架构变更后对真实系统的影响。

 

原文链接:http://blog.tingyun.com/web/article/detail/406

时间: 2024-12-02 21:25:20

利用听云Server和听云Network实测Kubernetes和Mesos在高并发下的网络性能的相关文章

思科利用创新云互联解决加快云化进程

根据 2012 思科全球云网络调查,大多数 IT 决策者将云就绪网络视为实现业务应用向云迁移的最大需求.为了解决这一难题,思科今天宣布推出思科云互联解决方案,引入支持云的路由和广域网优化平台,以及支持用户智能连接到云服务的开放架构--创新的 Cloud Connector. 思科云互联解决方案包含三个关键要素: Cloud Connector – 托管在 ISR G2 平台上的新软件模块,可与云服务进行交互,以改进云应用的性能.安全性及可用性. Cloud Connector 软件将允许运营商和

Windows Server基础架构云参考架构:硬件之上的设计

综述 毫无疑问,移动互联网.社交网络.大数据和云计算已经成为IT发展的四个大的趋势.其中云计算又为前三个提供了一个理想的平台.今天不仅互联网公司,很多传统行业的大中型企业也在建设自己的私有云.本文旨在介绍一个基于Windows Server 2012和System Center 2012 SP1构建基础架构云其硬件部分的参考架构. 设计目标 从运维角度,整个架构应该易于扩展,从小到4个机柜至大到整个数据中心可以方便的进行扩展和容量规划. 从用户的角度,整个架构应该可以兼容不同的应用类型,比如对计

专访微软SQL项目组高级产品经理:SQL Server新技术与云化技术支持

为了帮助大家进一步了解这场全球前言技术共振盛会的内容,采访了各个论坛的大咖,以飨读者. 以下是正文: 吴晓晨,微软SQL项目组的高级产品经理.在微软工作的9年时间里,作为软件开发工程师和项目经理,他曾经参与并负责过SQL Server集成服务,SQL Server及微软云数据库中数据备份,数据保护以及数据集成等项目的开发工作. 关于本次分享的SQL前沿技术,吴晓晨SQL Server 2017最大的亮点就是对于Linux系统以及Docker容器的支持.用户可以选择在Windows系统或者Linu

Windows Server 8与云的结合

所有用户都将可以使用Windows Server 8来建立自己需要的云服务.来自微软公司的一份白皮书向我们揭示了,应用发布的服务器操作系统,用来构建IaaS平台的细节. 在通过 Windows Azure平台所提供的PaaS云服务和两个SaaS解决方案--Office 365及Dynamics CRM Online--之后,微软又准备提供另一全新的选择,为希望建立自己的私有IaaS云的客户提供基于Windows Server 8的相关解决方案.除了Windows Server之外,这个解决方案还

Android编程之利用服务实现电话监听的方法_Android

本文实例讲述了Android编程之利用服务实现电话监听的方法.分享给大家供大家参考,具体如下: 1. 启动模拟器,部署应用 2. 利用模拟器控制器发送短信启动服务(查看日志输出判断是否成功) 3. 向模拟器拨打电话,并接听,挂断电话后,利用文件管理查看对应的cache目录或者sdcard中生成了3gp文件,并将其复制到pc中播放以验证. 清单设置(一个receiver,一个service,若干权限) <uses-permission android:name="android.permis

Android编程之利用服务实现电话监听的方法

本文实例讲述了Android编程之利用服务实现电话监听的方法.分享给大家供大家参考,具体如下: 1. 启动模拟器,部署应用 2. 利用模拟器控制器发送短信启动服务(查看日志输出判断是否成功) 3. 向模拟器拨打电话,并接听,挂断电话后,利用文件管理查看对应的cache目录或者sdcard中生成了3gp文件,并将其复制到pc中播放以验证. 清单设置(一个receiver,一个service,若干权限) <uses-permission android:name="android.permis

云世界大会:云技术精英环节现场图文

云世界大会进入下一环节,云技术精英. 天云科技副总裁雷涛:今天真是全星闪烁,看到硅谷的精英在这里聚集,因此我们想把视线拉回中国,拉回北京的亦庄,看看本土的企业里发生的事情.我们今天有请四位嘉宾上场化学.第一,思杰系统公司云平台产品部CTO梁胜,梁胜先生在思杰公司负责云产品的战略规划和整体技术实施,曾经是Cloud.COM的创始人,今年到了思杰.第二位是陈尚义,是百度公司的技术委员会的理事长,北航的兼职教授,科学院的研究生导师,曾主持过重大的新加坡国立大学项目,以及很多核高基的项目.第三位是阿里云

【IT技术】阿里RDS首席产品架构师何云飞:阿里云数据库的架构演进之路

专访阿里RDS首席产品架构师何云飞:阿里云数据库的架构演进之路 原文作者:pipihappy8888 http://www.itpub.net/thread-1887486-1-1.html 如果说淘宝革了零售的命,那么DT革了企业IT消费的命.在阿里巴巴看来,DT时代,企业IT消费的模式变成了"云服务+数据",阿里云将打造一个像淘宝电商一样多方共赢的云生态.而作为阿里云庞大帝国的重要成员,阿里云RDS为社交网站.电子商务网站.手机App提供了可靠的数据存储服务.好的架构不是设计出来的

云@运营商:云的落地与实践

2012云世界大会 分论坛二 运营商 姚宏宇:各位嘉宾,大家下午好,今天下午运营商这个论坛由我来主持,在我们圆桌论坛开始之前,让我们有请IDC的武连峰先生为我们解读一下云计算的报告. 武连峰:各位嘉宾下午好,非常高兴能跟大家解读一下这个报告.我想跟大家分享的观点主要有三个方面,一个方面我们认为IDC强调第三平台是IT市场的未来,IT市场里面核心就是云计算.第二个观点我们认为云计算未来会有一个大的发展前景.第三个观点,我特别强调安全,用户体验,以及与行业深度结合,是未来云计算进一步落地的基础. 我