You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/aks/istio-scale.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
-
title: Istio Service Mesh AKS Add-On Performance
3
-
description: Istio Service Mesh AKS Add-On Performance
2
+
title: Istio service mesh aks add-on performance
3
+
description: Istio service mesh aks add-on performance
4
4
ms.topic: article
5
5
ms.custom: devx-track-azurecli
6
6
ms.date: 03/19/2024
@@ -10,7 +10,7 @@ ms.author: shalierxia
10
10
# **Istio service mesh add-on performance**
11
11
The Istio-based service mesh add-on is logically split into a control plane (`istiod`) and a data plane. The data plane is composed of Envoy sidecar proxies inside workload pods. Istiod manages and configures these Envoy proxies. This article presents the performance of both the control and data plane for revision asm-1-19, including resource consumption, sidecar capacity, and latency overhead. Additionally, it provides suggestions for addressing potential strain on resources during periods of heavy load.
12
12
13
-
## Control Plane Performance
13
+
## Control plane performance
14
14
[Istiod’s CPU and memory requirements][control-plane-performance] correlate with the rate of deployment and configuration changes and the number of proxies connected. The scenarios tested were:
15
15
16
16
- Pod churn: examines the impact of pod churning on `istiod`. To reduce variables, only one service is used for all sidecars.
@@ -47,7 +47,7 @@ The [ClusterLoader2 framework][clusterloader2] was used to determine the maximum
47
47
| 50 | 37.9 | 25000 | 42.7 | 16 |
48
48
49
49
50
-
### Multiple Services
50
+
### Multiple services
51
51
The [ClusterLoader2 framework][clusterloader2] was used to determine the maximum number of sidecars `istiod` can manage with 1,000 services. The results can be compared to the 0% churn test (one service) in the pod churn scenario. Each service had `N` sidecars contributing to the overall maximum sidecar count. The API Server resource usage was observed to determine if there was any significant stress from the add-on.
52
52
53
53
**Sidecar Capacity**
@@ -66,7 +66,7 @@ The [ClusterLoader2 framework][clusterloader2] was used to determine the maximum
66
66
| Istiod CPU | 15 | 16 |
67
67
68
68
69
-
## Data Plane Performance
69
+
## Data plane performance
70
70
Various factors impact [sidecar performance][data-plane-performance] such as request size, number of proxy worker threads, and number of client connections. Additionally, any request flowing through the mesh traverses the client-side proxy and then the server-side proxy. Therefore, latency and resource consumption are measured to determine the data plane performance.
71
71
72
72
[Fortio][fortio] was used to create the load. The test was conducted with the [Istio benchmark repository][istio-benchmark] that was modified for use with the add-on.
@@ -91,10 +91,10 @@ The following evaluates the impact of adding sidecar proxies to the data path, s
91
91
92
92
| Azure CNI Overlay |Azure CNI Overlay with Cilium |
[](./media/aks-istio-addon/latency-box-plot/overlay-azure_p99.png#lightbox) | [](./media/aks-istio-addon/latency-box-plot/overlay-cilium_p99.png#lightbox)
95
-
[](./media/aks-istio-addon/latency-box-plot/overlay-azure_p90.png#lightbox) | [](./media/aks-istio-addon/latency-box-plot/overlay-cilium_p90.png#lightbox)
94
+
[](./media/aks-istio-addon/latency-box-plot/overlay-azure-p99.png#lightbox) | [](./media/aks-istio-addon/latency-box-plot/overlay-cilium-p99.png#lightbox)
95
+
[](./media/aks-istio-addon/latency-box-plot/overlay-azure-p90.png#lightbox) | [](./media/aks-istio-addon/latency-box-plot/overlay-cilium-p90.png#lightbox)
96
96
97
-
## Service Entry
97
+
## Service entry
98
98
Istio's ServiceEntry custom resource definition enables adding other services into the Istio’s internal service registry. A [ServiceEntry][serviceentry] allows services already in the mesh to route or access the services specified. However, the configuration of multiple ServiceEntries with the `resolution` field set to DNS can cause a [heavy load on DNS servers][understanding-dns]. The following suggestions can help reduce the load:
99
99
100
100
- Switch to `resolution: NONE` to avoid proxy DNS lookups entirely. Suitable for most use cases.
0 commit comments