背景信息
本文对比在相同规模的服务网格场景下开启和关闭自适应配置分发时服务网格控制面和数据面的资源消耗,说明自适应配置分发优化的使用场景和效果。
对比方案概述
应用说明
在多个命名空间部署bookinfo应用,请求应用,观察控制面和数据面资源消耗。bookinfo调用关系如下:
应用规模
在集群中创建22个命名空间,分别部署一个bookInfo demo,共88个Pod。每个productpage应用只需要访问reviews和details。
场景与指标说明
场景 | 场景描述 | 指标 |
---|---|---|
基线场景 | 未启用自适应配置下发。 | 控制面: 1、CPU及内存开销。 2、Pilot推送频率和时延。 3、XDS的请求量。 数据面(sidecar): 1、CPU及内存开销。 2、sidecar的服务资源信息。 |
启用自适应配置下发场景1 | 启用瞬间。 | 控制面: 1、CPU及内存开销。 2、Pilot推送频率和时延。 3、XDS的请求量。 数据面(sidecar): 1、CPU及内存开销。 2、sidecar的服务资源信息。 |
启用自适应配置下发场景2 | 1、已启用自适应配置下发。 2、对每个命名空间下的服务持续发起网络访问请求。 |
控制面: 1、CPU及内存开销。 2、Pilot推送频率和时延。 3、XDS的请求量。 数据面(sidecar): 1、CPU及内存开销。 2、sidecar的服务资源信息。 |
结果说明
基线场景
控制面
可以看到随着服务的启动,控制面内存消耗逐渐增加,由于服务启动后控制面要执行全量配置推送,控制面CPU先上升,然后回落。
控制面xds推送ops、大小以及耗时。
数据面
选取任意一个pod观察CPU和内存。
istio-proxy容器在启动时要获取全量配置,CPU较高,然后回落。
内存增长到一个值后保持稳定。
查看业务相关outbounds规则情况可以看到sidecar中包含了全量的服务信息。
自适应配置下发场景1——开启瞬间
控制面
可以看到控制面CPU相比未开启自适应配置分发的情况明显降低。
xds推送ops、大小以及耗时明显降低。
数据面
选取任意一个pod观察,可以看到内存有明显降低。
业务相关outbounds规则情况,只有业务访问到的目标服务信息。
小结
可以明显看到cpu和内存开销峰值下降,xds下发的平均包大小和耗时也大幅下降。
控制面优化概况
场景 | CPU峰值 | 内存峰值 | proxy推送频率峰值ops/s | 推送耗时P99 | 推送耗时P999 | XDS平均请求量峰值 |
---|---|---|---|---|---|---|
基线 | 1.8 | 668M | 170 | 497ms | 2.6s | 1MB/s |
开启瞬间 | 0.435 (-75.8%) | 362M (-45.8%) | 38 (-77.6%) | 90ms (-81.9%) | 90ms (-96.5%) | 23KB/s (-97.8%) |
数据面优化概况
场景 | sidecarCPU峰值 | sidecar内存峰值 | 是否推送不含依赖关系的服务相关资源 |
---|---|---|---|
基线 | 0.08 | 92.6M | 是 |
开启瞬间 | 0.0015(-98.0%) | 44M(-52.4%) | 否 |
自适应配置下发场景2——开启后持续产生流量
控制面
xds推送大小以及耗时
数据面
选取任意一个pod观察cpu,内存
业务相关outbounds规则情况
小结
可以看到开启后产生的业务访问场景下,控制面cpu和内存进一步降低,xds量几乎为0。
控制面优化概况
场景 | CPU峰值 | 内存峰值 | proxy推送频率峰值ops/s | 推送耗时P99 | 推送耗时P999 | XDS平均请求量峰值 |
---|---|---|---|---|---|---|
基线 | 1.8 | 668M | 170 | 497ms | 2.6s | 1MB/s |
开启瞬间 | 0.435 (-75.8%) | 362M (-45.8%) | 38 (-77.6%) | 90ms (-81.9%) | 90ms (-96.5%) | 23KB/s (-97.8%) |
开启后 | 0.0157(-99.1%) | 315M(-52.8%) | 3.13 (-98.2%) | 99ms (-80.1%) | 99.9ms (-96.2%) | 0.6KB/s (-99.9%) |
数据面优化概况
场景 | sidecarCPU峰值 | sidecar内存峰值 | 是否推送不含依赖关系的服务相关资源 |
---|---|---|---|
基线 | 0.08 | 92.6M | 是 |
开启瞬间 | 0.0015(-98.0%) | 44M(-52.4%) | 否 |
开启后 | 0.0021(-97.4%) | 53M(-42.3%) | 否 |