首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

蚂蚁金服开源Go语言版Service Mesh数据平面SOFAMosn性能报告

7月30号,第二届Service Mesh Meetup北京站,蚂蚁金服的高级技术专家朵晓东(奕杉)为我们分享了

开源 | Service Mesh 数据平面 SOFAMosn 深层揭秘

,本文是来自蚂蚁金服系统部应用网络组无钩同学对SOFAMosn 0.1.0的性能测试报告。

更多关于SOFAMosn的信息请访问SOFAMosn GitHub地址:https://github.com/alipay/sofa-mosn

以下的的性能报告为 SOFAMosn 0.1.0 在做 Bolt 与 HTTP1.x 协议的纯 TCP,转发上与 envoy 的一些性能对比数据、主要表现、在 QPS、RTT、失败率/成功率等。

这里需要强调的是,为了提高 SOFAMosn 的转发性能,在 0.1.0 版本中,我们做了如下的一些优化手段:

在线程模型优化上,使用 worker 协程池处理 stream 事件,使用两个独立的协程分别处理读写 IO

在单核转发优化上,在指定 的情况下,我们通过使用 CPU 绑核的形式来提高系统调用的执行效率以及 cache 的 locality affinity

在内存优化上,同样是在单核绑核的情况下,我们通过使用 SLAB-style 的回收机制来提高复用,减少内存 copy

在 IO 优化上,主要是通过读写 buffer 大小以及读写时机和频率等参数的控制上进行调优

以下为具体的性能测试数据

TCP 代理性能数据

这里,针对相同的部署模式,我们分别针对上层协议为 与 来进行对比

部署模式

压测采用纯代理模式部署,client 进程通过 SOFAMosn 进程作为转发代理访问server进程。其中,client 进程,SOFAMosn 进程,server 进程分别运行在属于不同网段的机器中。client 直连访问 server 网络延时为 2.5ms 左右

客户端

bolt 协议(发送1K字符串)

发送 Bolt 协议数据的客户端使用 "蚂蚁金服"内部开发的线上压力机,并部署 sofa rpc client。

通过压力机的性能页面,可反映压测过程中的QPS、成功/失败次数,以及RT等参数。

HTTP1.1 协议(发送1K字符串)

使用 ApacheBench/2.3, 测试指令:

mesh 运行机器规格

mesh 运行在容器中,其中 CPU 为独占的一个逻辑核,具体规格如下:

upstream 运行机器规格

Bolt协议 测试结果

性能数据

结论

可以看到,在单核 TCP 转发场景下,SOFAMosn 0.1.0 版本和 Envoy 1.7版本,在满负载情况下的 QPS、RTT、成功数/失败数等性能数据上相差不大,后续版本我们会继续优化。

HTTP/1.1 测试结果

由于 HTTP/1.1 的请求响应模型为 PING-PONG,因此 QPS 与并发数会呈现正相关。下面分别进行不同并发数的测试。

并发20

并发40

并发200

并发220

结论

可以看到,在上层协议为 HTTP/1.X 时,SOFAMosn 的性能和 Envoy 的性能存在一定差距,对于这种现象我们的初步结论为:在 PING-PONG 的发包模型下,MOSN无法进行 read/write 系统调用合并,相比sofarpc可以合并的场景,syscall数量大幅上升,因此导致相比sofarpc的场景,http性能上相比envoy会存在差距。针对这个问题,在 0.2.0 版本中,我们会进行相应的优化。

附录

envoy版本信息

version:1.7tag:1ef23d481a4701ad4a414d1ef98036bd2ed322e7

envoy tcp测试配置

本报告也可以通过GitHub获取:https://github.com/alipay/sofa-mosn/blob/master/docs/reference/PerformanceReport.md

目前SOFAMosn 0.2.0 版本正在密集的研发中,性能仍然是重点建设目标,我们将在 0.2.0 发布后更新单核性能指标,并提供多核场景的性能报告。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180813G0998500?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券