 严选 ServiceMesh 实践性能视角 – cNginx vs Envoy(优化前) • 1600RPS+40个并发(主机配置均为 8C16G) • cNginx 的 RT overhead 在0.4ms左右 • Envoy(client模式)的 RT overhead 是0.6ms左右12/24 性能视角 – cNginx vs Envoy(优化后) • 优化方案 • 采用 sriov 容器网络 • Envoy:将10 码力 | 25 页 | 2.07 MB | 6 月前3 严选 ServiceMesh 实践性能视角 – cNginx vs Envoy(优化前) • 1600RPS+40个并发(主机配置均为 8C16G) • cNginx 的 RT overhead 在0.4ms左右 • Envoy(client模式)的 RT overhead 是0.6ms左右12/24 性能视角 – cNginx vs Envoy(优化后) • 优化方案 • 采用 sriov 容器网络 • Envoy:将10 码力 | 25 页 | 2.07 MB | 6 月前3
 蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘Case 5调度均衡 6 Ø池化:避免 runtime.morestack 连续栈扩容性能损耗 Ø单核:避免G饥饿 Ø多核:避免P饥饿单核TCP转发 7 Ø环境 ü独占CPU容器 üCPU: Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz X 1 üOS: 3.10.0-327.ali2008.alios7.x86_64 Ø软件 üMOSN 0.1.0 üEnvoy 88ms MEM 31m 18m CPU 100% 100%HTTP/1.1 + 1K字符串 9 指标\软件 SOFAMosn Envoy QPS峰值 29670 38800 RT(avg) 5.715ms 5.068ms RT(P99) 16ms 7ms RT(P98) 13ms 7ms RT(P95) 11ms 6ms MEM 56m 24m CPU 100% 95%单核SOFARPC转发 95%单核SOFARPC转发 10 Ø环境 ü独占CPU容器 üCPU: Intel(R) Xeon(R) CPU E5620 @ 2.40GHz X 16 X 1 üOS: 2.6.32-431.17.1.el6.FASTSOCKET Ø软件 üMOSN 0.1.0 Ø场景 ü代理模式: client -> mesh -> server üClient直连server请求耗时1.6ms单核SOFARPC转发0 码力 | 44 页 | 4.51 MB | 6 月前3 蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘Case 5调度均衡 6 Ø池化:避免 runtime.morestack 连续栈扩容性能损耗 Ø单核:避免G饥饿 Ø多核:避免P饥饿单核TCP转发 7 Ø环境 ü独占CPU容器 üCPU: Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz X 1 üOS: 3.10.0-327.ali2008.alios7.x86_64 Ø软件 üMOSN 0.1.0 üEnvoy 88ms MEM 31m 18m CPU 100% 100%HTTP/1.1 + 1K字符串 9 指标\软件 SOFAMosn Envoy QPS峰值 29670 38800 RT(avg) 5.715ms 5.068ms RT(P99) 16ms 7ms RT(P98) 13ms 7ms RT(P95) 11ms 6ms MEM 56m 24m CPU 100% 95%单核SOFARPC转发 95%单核SOFARPC转发 10 Ø环境 ü独占CPU容器 üCPU: Intel(R) Xeon(R) CPU E5620 @ 2.40GHz X 16 X 1 üOS: 2.6.32-431.17.1.el6.FASTSOCKET Ø软件 üMOSN 0.1.0 Ø场景 ü代理模式: client -> mesh -> server üClient直连server请求耗时1.6ms单核SOFARPC转发0 码力 | 44 页 | 4.51 MB | 6 月前3
 蚂蚁金服网络代理演进之路统一数据 平面API 存量连接无损迁移 提升5倍发布效率 TLS双向加密 支持国密算法 WAF 流量镜像 多协议 SOFARPC Dubbo HTTP1.1/2 平滑升级 性能 单跳CPU增加5%消耗 0.2ms RT 蚂蚁金服100+应用,10w+容器已经mesh化,部分业务链路通过下沉, RT降低了7%,平稳支撑了618大促。SOFAMosn https://github.c 容器进行无损平滑升级,即“给奔跑的汽车换轮胎” l 支持 SOFARPC、HTTP/1.x、消息、TLS 等多种协议无损迁移资源问题 CPU • Cpuset模式,与业务App共享独占核 • Cpushare模式,与应用容器共享物理机Cpu资源 • 根据具体业务情况设置Cpu资源 内存 • 使用应用内存的1/16 • 与业务Share内存,最大限制使用1G,存在超卖问题,触发Pod 级别的direct reclaim问题 磁盘 • Sidecar与业务容器共享磁盘,并且不受容器启动顺序对磁盘分配的影响,单独mount配置文件 • 不同业务不同资源占用的精细化调配性能问题 GOMAXPROCS :Cpu消耗与RT的tradeoff 优化GC策略升级1.12版本,MADV_FREE,MADV_DONTNEED带来的 影响 Chan的吞吐极限,减少主业务数据的传递 CGO对于TLS 签名计算有83%的性能衰退,AES对称加密0 码力 | 46 页 | 19.93 MB | 6 月前3 蚂蚁金服网络代理演进之路统一数据 平面API 存量连接无损迁移 提升5倍发布效率 TLS双向加密 支持国密算法 WAF 流量镜像 多协议 SOFARPC Dubbo HTTP1.1/2 平滑升级 性能 单跳CPU增加5%消耗 0.2ms RT 蚂蚁金服100+应用,10w+容器已经mesh化,部分业务链路通过下沉, RT降低了7%,平稳支撑了618大促。SOFAMosn https://github.c 容器进行无损平滑升级,即“给奔跑的汽车换轮胎” l 支持 SOFARPC、HTTP/1.x、消息、TLS 等多种协议无损迁移资源问题 CPU • Cpuset模式,与业务App共享独占核 • Cpushare模式,与应用容器共享物理机Cpu资源 • 根据具体业务情况设置Cpu资源 内存 • 使用应用内存的1/16 • 与业务Share内存,最大限制使用1G,存在超卖问题,触发Pod 级别的direct reclaim问题 磁盘 • Sidecar与业务容器共享磁盘,并且不受容器启动顺序对磁盘分配的影响,单独mount配置文件 • 不同业务不同资源占用的精细化调配性能问题 GOMAXPROCS :Cpu消耗与RT的tradeoff 优化GC策略升级1.12版本,MADV_FREE,MADV_DONTNEED带来的 影响 Chan的吞吐极限,减少主业务数据的传递 CGO对于TLS 签名计算有83%的性能衰退,AES对称加密0 码力 | 46 页 | 19.93 MB | 6 月前3
 SOFAMOSN持续演进路径及实践分享Ø 压测环境 p Intel(R) Xeon(R) CPU E5620 @ 2.40GHz p kernel:2.6.32-220.23.2.el6.x86_64 p 单核模式:1 core; 多核模式: 4 core p Post请求:1k上传,1k下载 p h2load:100连接,10并发 场景 QPS RT(ms) MEM(M) CPU(%) Old http2(1 core) 2700 添加到RawEpoll中技术案例 – 长连接网关RawEpoll模式 场景 QPS MEM(K) CPU(%) goroutine 原生IO模式 1000 3.3 60 200028 Raw Epoll模式 1000 2.5 18 28 Ø 压测环境 p Intel(R) Xeon(R) CPU E5-2640 v3 @ 2.60GHz p kernel:3.10.0 p 压测版本: 0.20 码力 | 29 页 | 7.03 MB | 6 月前3 SOFAMOSN持续演进路径及实践分享Ø 压测环境 p Intel(R) Xeon(R) CPU E5620 @ 2.40GHz p kernel:2.6.32-220.23.2.el6.x86_64 p 单核模式:1 core; 多核模式: 4 core p Post请求:1k上传,1k下载 p h2load:100连接,10并发 场景 QPS RT(ms) MEM(M) CPU(%) Old http2(1 core) 2700 添加到RawEpoll中技术案例 – 长连接网关RawEpoll模式 场景 QPS MEM(K) CPU(%) goroutine 原生IO模式 1000 3.3 60 200028 Raw Epoll模式 1000 2.5 18 28 Ø 压测环境 p Intel(R) Xeon(R) CPU E5-2640 v3 @ 2.60GHz p kernel:3.10.0 p 压测版本: 0.20 码力 | 29 页 | 7.03 MB | 6 月前3
 Service Mesh是下一代SDN吗:从通信角度看Service Mesh的发展未达到产品要求 CPU占用率超高不下 (Pilot+Consul 占用冲高到 400%) • TIME_WAIT Sockets 太多导致FD耗光 Consul Registry优化 • 增加数据缓存,减少无谓的Consul Catalog API调用 • 将Polling改为Watch,大幅降低Consul服务数据变化后的同步时延 优化效果 • 200个服务的规模下,CPU占用率降低了一个数量级0 码力 | 27 页 | 11.99 MB | 6 月前3 Service Mesh是下一代SDN吗:从通信角度看Service Mesh的发展未达到产品要求 CPU占用率超高不下 (Pilot+Consul 占用冲高到 400%) • TIME_WAIT Sockets 太多导致FD耗光 Consul Registry优化 • 增加数据缓存,减少无谓的Consul Catalog API调用 • 将Polling改为Watch,大幅降低Consul服务数据变化后的同步时延 优化效果 • 200个服务的规模下,CPU占用率降低了一个数量级0 码力 | 27 页 | 11.99 MB | 6 月前3
 Service Mesh 发展趋势(续) 蚂蚁金服 | 骑士到中盘路向何方?在Web上运行。它也被设计为可以与JavaScript共存,允许两者一起工作。 WebAssembly不是一门编程语言,而是一份字节码标准。 WebAssembly字节码是一种抹平了不同CPU架构的机器码, WebAssembly字节码不能直接在任何一种CPU架构上运行, 但由于非常接近机器码,可以非常快的被翻译为对应架构 的机器码,因此WebAssembly运行速度和机器码接近。(类 比Java bytecode) (摘录自http://blog0 码力 | 43 页 | 2.90 MB | 6 月前3 Service Mesh 发展趋势(续) 蚂蚁金服 | 骑士到中盘路向何方?在Web上运行。它也被设计为可以与JavaScript共存,允许两者一起工作。 WebAssembly不是一门编程语言,而是一份字节码标准。 WebAssembly字节码是一种抹平了不同CPU架构的机器码, WebAssembly字节码不能直接在任何一种CPU架构上运行, 但由于非常接近机器码,可以非常快的被翻译为对应架构 的机器码,因此WebAssembly运行速度和机器码接近。(类 比Java bytecode) (摘录自http://blog0 码力 | 43 页 | 2.90 MB | 6 月前3
 Observability On Service MeshApplication Performance Management • Agent based • Manipulate source codes • Auto • Manual • CPU, Memory, Latency Cost, GCCost of open source solutions Don’t consider this as an competition. It is0 码力 | 19 页 | 5.53 MB | 6 月前3 Observability On Service MeshApplication Performance Management • Agent based • Manipulate source codes • Auto • Manual • CPU, Memory, Latency Cost, GCCost of open source solutions Don’t consider this as an competition. It is0 码力 | 19 页 | 5.53 MB | 6 月前3
 云原生开放智能网络代理 MOSN路由扩展 • 集群管理扩展 模块化 安全 智能 高性能3/10 MOSN 助力业界最大规模之一的 Service Mesh 实践 核心支付链路覆盖 容器规模 几十万 峰值 QPS 千万 CPU 0%~2% MEM 15M RT 0.2ms 极低消耗 100% 1~2 次/年  10+次 /月 快速迭代4/10 这两年,MOSN 如何走过 2017年底 开始调研 Service0 码力 | 12 页 | 1.39 MB | 6 月前3 云原生开放智能网络代理 MOSN路由扩展 • 集群管理扩展 模块化 安全 智能 高性能3/10 MOSN 助力业界最大规模之一的 Service Mesh 实践 核心支付链路覆盖 容器规模 几十万 峰值 QPS 千万 CPU 0%~2% MEM 15M RT 0.2ms 极低消耗 100% 1~2 次/年  10+次 /月 快速迭代4/10 这两年,MOSN 如何走过 2017年底 开始调研 Service0 码力 | 12 页 | 1.39 MB | 6 月前3
 在Kubernetes上部署高可用的Service Mesh监控Prometheus 2.0 - deal with dynamic nature ● Storage engine redesign & reimplementation ○ Save more CPU, RAM & IOPS ○ Scale to far high number of time series ○ Better performance in face of pod churn0 码力 | 35 页 | 2.98 MB | 6 月前3 在Kubernetes上部署高可用的Service Mesh监控Prometheus 2.0 - deal with dynamic nature ● Storage engine redesign & reimplementation ○ Save more CPU, RAM & IOPS ○ Scale to far high number of time series ○ Better performance in face of pod churn0 码力 | 35 页 | 2.98 MB | 6 月前3
 深入 Kubernetes 的无人区-蚂蚁金服双十一的调度系统资源及流量控制CRD 资源控制 分时调度 控制器 Pod 资源 Pod 资源 Pod 资源10/19 Part 2:资源分时调度 分时切换效果 数万台 应用 Pods 分钟级 链路切换 数万核 CPU资源节省 100% 分时切换成功率11/19 计算型任务混部 Part 2:双十一 Kubernetes 实践 其他自研 Operators AI 训练 Kubernetes TensorFlow0 码力 | 19 页 | 2.18 MB | 6 月前3 深入 Kubernetes 的无人区-蚂蚁金服双十一的调度系统资源及流量控制CRD 资源控制 分时调度 控制器 Pod 资源 Pod 资源 Pod 资源10/19 Part 2:资源分时调度 分时切换效果 数万台 应用 Pods 分钟级 链路切换 数万核 CPU资源节省 100% 分时切换成功率11/19 计算型任务混部 Part 2:双十一 Kubernetes 实践 其他自研 Operators AI 训练 Kubernetes TensorFlow0 码力 | 19 页 | 2.18 MB | 6 月前3
共 15 条
- 1
- 2













