利用听云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-10-21 21:08:24

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

感受SaaS版“服务器端应用私人医生”—— 听云Server APM内测手记

平时一直对应用性能优化和网络安全比较感兴趣,最近看到号称"服务器端应用私人医生"的听云Server在内测,就申请了一个试试. 这是基调网络开发的一款应用性能管理服务,名叫"听云Server".看介绍上说,它可以监控应用代码的响应时间,通过慢追踪,定位有问题的代码.监控关系型数据库的查询操作:监控NoSQL的响应时间:监控当前应用调用的外部服务的响应时间:最快的帮助你定位和解决问题-- 是不是真的这么好,还是用用看再说吧. 申请到账号之后登录系统,迎面而来的是App.

PHPer都应该关注的服务端性能问题--听云Server试用笔记

很早就在用国外的NewRelic(http://www.newrelic.com/)的APM产品来监测自己网站的PHP应用性能了.无奈国外的服务从国内访问起来实在是太慢了,虽然New Relic已经上市了,但是这访问慢的问题却是一直没见好转,反而越来越严重.可能是GFW时不时抽风所致,有时候还得翻墙才能访问New Relic的报表.虽说翻墙是码农们必备的技能,但是为了看个报表查个故障都要翻墙的话实在太麻烦了.   最近非常意外地发现国内也有提供和New Relic类似服务的厂商了.听云(http

新手玩个人server(阿里云)续二

小二班一番厮杀:那英四强诞生:大家闺秀,小家碧玉.窈窕淑女,妍姿俊俏 .不解释! ?不行! 陈冰,李嘉格,刘明湘.张碧晨.大多数的时候,仅仅要脸好看,一切都那么自热而然的顺理成章. 尽管网上骂声四起,黑压压一片,总有那么一片不满.忆往昔.快女十强美女寥寥无几.众人云云,不也发出过中性一片,大扫雅兴. 迎合往往活的心力憔悴.从第一届的梁博.张玮.多亮.张赫宣.次奥,我竟然还记得.红果果四个汉子,仅仅能佐证那英也喜欢汉子. 昨晚我仍旧没能装上node,由于报错 Traceback (most rec

【IT名人堂】何云飞:阿里云数据库的架构演进之路

[IT名人堂]何云飞:阿里云数据库的架构演进之路 原文转载自:IT168 ? 如果说淘宝革了零售的命,那么DT革了企业IT消费的命.在阿里巴巴看来,DT时代,企业IT消费的模式变成了“云服务+数据”,阿里云将打造一个像淘宝电商一样多方共赢的云生态.而作为阿里云庞大帝国的重要成员,阿里云RDS为社交网站.电子商务网站.手机App提供了可靠的数据存储服务.好的架构不是设计出来的,而是演化出来的,那么RDS经历了怎样的架构演进?本期名人堂我们邀请到了阿里云RDS首席产品架构师何云飞,为我们揭秘RDS的

腾讯云SSL证书+阿里云负载均衡实现https转https

现在很多人,很多企业都开始注重信息安全,http协议由于采用不加密传输数据,所以会存在信息的泄漏,所以现在更多的企业和个人的网站开始采用https协议来加密自己网站的传输数据.如果你有多台相同的服务器提供服务,那么利用负载均衡实现http转换成https,可以花费更少的资金,更方便,更便捷. 创建负载均衡 1.1 登录阿里云,进入到控制台,点击左侧的负载均衡,进入到负载均衡的页面 1.2  进入到负载均衡页面,点击创建负载均衡,进入到负载均衡创建页面,收费方式分为预付费模式,按量付费模式 1.3

阿里云 VS 腾讯云 VS 华为云 VS 七牛云 VS Ucloud 国内五大云服务商云主机评测报告

前言 对于所有的公有云服务商来说,云主机是非常基础且重要的业务.那么在高性能云计算方面,作为互联网巨头的阿里云.腾讯云以及新兴云计算企业的代表华为云.七牛云和UCloud又有怎样的表现呢?最近,我们选择了阿里云.腾讯云.华为云.七牛云和UCloud这几家主流云服务商的云主机产品进行评测. 主机选取 虽然任意一家云服务商都无法保证同一系列所有的机器性能都一致,但通过样本的检测我们还是能大致了解各家云服务商的实力.本次选择的云主机配置为4核16G.为了较为公平的比较各家云服务商的主机性能,我们尽量选

云-腾讯云:腾讯云

ylbtech-云-腾讯云:腾讯云 腾讯云—腾讯倾力打造的云计算品牌,以卓越科技能力助力各行各业数字化转型,为全球客户提供领先的云计算.大数据.人工智能服务,以及定制化行业解决方案. 1.返回顶部 1. 腾讯云有着深厚的基础架构,并且有着多年对海量互联网服务的经验,不管是社交.游戏还是其他领域,都有多年的成熟产品来提供产品服务.腾讯在云端完成重要部署,为开发者及企业提供云服务.云数据.云运营等整体一站式服务方案. 具体包括云服务器.云存储.云数据库和弹性web引擎等基础云服务:腾讯云分析(MTA

.Net Core in Docker - 使用阿里云Codepipeline及阿里云容器镜像服务实现持续集成(CI)

前面已经介绍过了 .Net Core 程序发布到 Docker 容器的内容.但是每次通过 SSH 链接到服务器敲命令,运行脚本也是挺麻烦的一件事.程序员是最懒的,能让电脑解决的问题绝不手动解决,如果当我们push一次代码后自动build代码,自动跑单元测试,如果测试通过,自动发布程序,如果失败就发邮件通知管理员,这样的话该多美好.为了达成这个目标于是持续集成(CI)持续交付/部署(CD)就被发明出来了.CICD领域有个大名鼎鼎的工具:Jenkins,但是这次不使用它.如果你使用阿里云的话,阿里云

System Center 2012 R2实例2—构建Azure Pack云4—构建VM云

要在WAP中创建VM云,首先要注册SCSPF(System Center Service Provider Foundation).通过SPF可以把WAP Portal和SCVMM对接,以实现网站门户对VM云的管理. 可以使用单独一台VM做SPF服务器,需要首先安装VMM控制台. 我这里为了精简VM,直接安装在SCVMM服务器上了. 打开SCO安装包 选取独立安装Service Provider Foundation,环境检测发现还缺少必备项. 先开通HTTP激活和管理OData IIS扩展的功