首页 > 其他分享 >高性能与成本效益兼备:Flomesh 服务网格 FSM 数据平面性能基准测试

高性能与成本效益兼备:Flomesh 服务网格 FSM 数据平面性能基准测试

时间:2023-12-28 15:36:26浏览次数:30  
标签:网格 Istio FSM Flomesh sidecar 测试 资源 内存

Flomesh Service Mesh(FSM)旨在提供服务网格功能、注重高性能和低资源消耗。这使得资源受限的边缘环境能够利用类似云的服务网格功能。

在本次测试中,我们对 FSM(v1.1.4)Istio(v1.19.3) 进行了基准测试。主要关注在使用两种不同网格时的服务延迟分布,以及数据平面的资源开销。

FSM 使用 Pipy 作为数据平面,而 Istio 则使用 Envoy

测试前,重要的是要注意,我们的重点是比较它们之间的延迟和资源消耗,而不是极限性能。

测试环境

基准测试在运行于 Azure Cloud VM 的 Kubernetes 集群中进行。该集群包括 2 个Standard_D8_v3节点。FSM 和 Istio 均配置为宽松流量模式和 mTLS,其他设置均为默认

  • Kubernetes:K3s v1.24.17+k3s1
  • 操作系统:Ubuntu 20.04
  • 节点:8 核 32G 内存 * 2
  • Sidecar:1 核 512Mi 内存

测试工具位于 此仓库fsm 分支,该仓库从 istio/tools 分叉而来。

测试流程

测试流程记录在 此文件 中。

测试工具中有两个应用程序:fortioclient 和 fortioserver。负载是由 kubectl exec 触发 fortioclient 生成的。

对于两个网格,都进行了基线(无 sidecar)和双边车(两个 sidecar)模式的测试。负载生成设置为在 QPS 1000 下的 2、4、8、16、32、64 并发。您可以查看 FSMIstio 的基准配置。

还有一个重要方面是将 请求和限制资源 设置为 1000m512Mi

延迟

图示:xxx_baseline 表示服务直接访问,不通过 sidecar;xxx_both 表示客户端和服务端都有 sidecar。

X 轴表示并发数;Y 轴表示延迟,单位是毫秒,数值越小越好。

P50

高性能与成本效益兼备:Flomesh 服务网格 FSM 数据平面性能基准测试_程序员

P90

高性能与成本效益兼备:Flomesh 服务网格 FSM 数据平面性能基准测试_程序员_02

P99

高性能与成本效益兼备:Flomesh 服务网格 FSM 数据平面性能基准测试_代码_03

P999

高性能与成本效益兼备:Flomesh 服务网格 FSM 数据平面性能基准测试_程序员_04

资源消耗

在 CPU 和内存占用图中,X 轴表示并发数;CPU 图的 Y 轴单位毫秒数,内存图的 Y 轴为 Mi,二者都是越低越好。

客户端 sidecar CPU

高性能与成本效益兼备:Flomesh 服务网格 FSM 数据平面性能基准测试_程序员_05

服务器端 sidecar CPU

高性能与成本效益兼备:Flomesh 服务网格 FSM 数据平面性能基准测试_程序员_06

客户端 sidecar 内存

高性能与成本效益兼备:Flomesh 服务网格 FSM 数据平面性能基准测试_代码_07

服务器端 sidecar 内存

高性能与成本效益兼备:Flomesh 服务网格 FSM 数据平面性能基准测试_代码_08

总结

此次,我们对 FSM 和 Istio 数据平面在限制 sidecar 资源下进行了基准测试。

  • 延迟:FSM 的 Pipy sidecar 代理的延迟低于 Istio 的 Envoy,特别是在高并发情况下。
  • 资源消耗:仅有 2 个服务时,FSM 的 Pipy 比 Istio 的 Envoy 消耗更少的资源。

从结果来看,FSM 能够在低资源使用下仍保持高性能,更有效地利用资源。因此,FSM 特别适用于资源受限和大规模场景,有效降低成本。这些优势得益于 Pipy 的低资源消耗、高性能特性。

当然,FSM 除了适用于云计算场景,也适用于边缘计算场景。

标签:网格,Istio,FSM,Flomesh,sidecar,测试,资源,内存
From: https://blog.51cto.com/u_16455808/9015294

相关文章

  • 04020404网格工具
    工具栏网格编辑模式工具:选择   选择或移动。   框选       通过拖拉方框选择几何元素。   刷选       通过拖拉圆形选择几何元素。   套索选择       通过拖拉曲线选择几何元素。Cursor游标   更改3D游标的位置。移动   变换工......
  • 0402网格
       1,简介用于建模的模式有:物体模式   支持基础的操作比如创建对象、合并对象、管理形态键、管理UV层和顶点颜色层。编辑模式   主要用于网格编辑操作。雕刻模式   除了能够处理单独的网格元素,还支持通过笔刷进行雕刻(本章节不会涉及该内容)。   2,结构对于......
  • grid网格布局
    grid-area:2/4/4/5;第几行开始/第几列开始/到第几行结束/到第几列结束 <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0&q......
  • 什么是多边形网格以及如何编辑它?
    在线工具推荐:3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.jsAI自动纹理开发包 - YOLO虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎介绍多边形网格是3D建模中经常使用的一个词,它的含义几乎已经消失了。因此,如......
  • 【教3妹学编程-算法题】用邮票贴满网格图
    3妹:“你不是真正的快乐,你的笑只是你穿的保护色”2哥 :3妹还在唱五月天的歌啊,你不知道五月天假唱,现在全网都在骂呢。3妹:知道啊,可是关我什么事,这个歌的确好听啊。2哥 :嗯嗯,不错,还以为你是脑残粉,无论黑白都只管追星呢。3妹:我是只管追歌的,歌好听就行啦。2哥 :追哥?追哪个哥,难......
  • 探索服务网格与 OpenTelemetry 的协同之分布式跟踪
    在上一篇文章中,介绍了如何在k8s中无侵入安装Otel探针并实现了无侵入(某些语言还无法实现,比如Go的eBPF对内核的苛刻要求)的分布式跟踪。这篇文章发出后有读者评论javaagent的“无侵入”一说,这里有必要解释下。“无侵入”主要指的是不需要修改应用程序的业务逻辑代码就......
  • Sermant:无代理服务网格架构解析及无门槛玩转插件开发
    本文分享自华为云社区《Sermant:无代理服务网格架构解析及无门槛玩转插件开发》,作者:华为云社区精选。本期直播的主题是《从架构设计到开发实践,深入浅出了解Sermant》,华为云云原生DTSE技术布道师、华为云高级工程师、Sermant开源社区PMC核心成员栾文飞,为广大开发者详细从架构设计......
  • three.js 使用 sortObjects 和 renderOrder 处理网格修改后覆盖模型的问题
    问题效果:目标效果处理此问题首先需要了解three的渲染机制:渲染机制threejs的渲染器是基于webGL的。它的渲染机制是根据物体离照相机的距离来控制和进行渲染的。也就是说,它根据物体的空间位置进行排序,然后根据这个顺序来渲染物体。对于透明的物体,是按照从最远到最近的顺序进行......
  • 设置子网格过滤条件
    有时候需要设置子网格不显示当前表单实体的相关记录,而是显示与其他查找字段的相关记录,可配置如下再加上以下代码,即可实现仅显示与客户关联的stock记录。 "usestrict";varAEntityForm=window.AEntityForm||{};(function(){this.formOnLoad=function(contex......
  • 工程师都喜欢的一款自动生成网格的仿真软件——Hyperworks到底好不好用?
    HyperWorks是一款广泛应用于工程仿真和优化的软件平台,其中包括了许多强大的工具和功能。其中的网格自动生成工具是其重要组成部分之一,对于工程仿真和优化来说具有重要的意义。那么,HyperWorks的网格自动生成工具到底好不好用呢?接下来我们将对此展开讨论。首先,HyperWorks的网格自......