1.16.2. 加载测试结果

上游 Istio 社区负载测试网格由 1000 个服务和 2000 个 sidecars,带有 70,000 个网格范围请求每秒组成。使用 Istio 1.12.3 运行测试,生成以下结果:

  • Envoy 代理每秒每 1000 个通过代理的请求使用 0.35 vCPU40 MB 内存
  • Istiod 使用 1 vCPU1.5 GB 内存。
  • Envoy 代理对 90th percentile 延迟增加了 2.65 ms
  • 传统的 istio-telemetry 服务(在 Service Mesh 2.0 中默认禁用)用于使用 Mixer 的部署,每 1000 网格范围内请求每秒使用 0.6 vCPU 请求。数据平面组件(Envoy 代理)处理通过系统的数据流。Service Mesh control plane 组件 Istiod 配置 data plane。data plane 和 control plane 有不同的性能问题。

1.16.2.1. Service Mesh Control plane 性能

Istiod 根据用户发布的配置文件和系统当前状态配置 sidecar 代理。在 Kubernetes 环境中,自定义资源定义(CRD)和部署由系统的配置和状态组成。Istio 配置对象,比如网关和虚拟服务,提供用户授权的配置。要生成代理的配置,Istiod 从 Kubernetes 环境和用户授权的配置处理组合配置和系统状态。

Service Mesh control plane 支持数千个服务,分布到成千上万的 pod,它们的用户作者虚拟服务和其他配置对象数量类似。Istiod 的 CPU 和内存要求扩展,以及配置数量和可能的系统状态。CPU 消耗扩展有以下因素:

  • 部署更改率。
  • 配置更改率。
  • 连接到 Istiod 的代理数量。

但这部分本质上是可横向扩展的。