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
+11-11Lines changed: 11 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,13 +1,13 @@
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
7
7
ms.author: shalierxia
8
8
---
9
9
10
-
# **Istio service mesh add-on performance**
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
13
## Control plane performance
@@ -16,7 +16,7 @@ The Istio-based service mesh add-on is logically split into a control plane (`is
16
16
- Pod churn: examines the impact of pod churning on `istiod`. To reduce variables, only one service is used for all sidecars.
17
17
- Multiple services: examines the impact of multiple services on the maximum sidecars Istiod can manage (sidecar capacity), where each service has `N` sidecars, totaling the overall maximum.
18
18
19
-
#### Test Specifications
19
+
#### Test specifications
20
20
- One `istiod` instance with default settings
21
21
- Horizontal pod autoscaling disabled
22
22
- Tested with two network plugins: Azure CNI Overlay and Azure CNI Overlay with Cilium [ (recommended network plugins for large scale clusters) ](/azure/aks/azure-cni-overlay?tabs=kubectl#choosing-a-network-model-to-use)
@@ -27,9 +27,9 @@ The Istio-based service mesh add-on is logically split into a control plane (`is
27
27
### Pod churn
28
28
The [ClusterLoader2 framework][clusterloader2] was used to determine the maximum number of sidecars Istiod can manage when there's sidecar churning. The churn percent is defined as the percent of sidecars churned down/up during the test. For example, 50% churn for 10,000 sidecars would mean that 5,000 sidecars were churned down, then 5,000 sidecars were churned up. The churn percents tested were determined from the typical churn percentage during deployment rollouts (`maxUnavailable`). The churn rate was calculated by determining the total number of sidecars churned (up and down) over the actual time taken to complete the churning process.
@@ -50,13 +50,13 @@ The [ClusterLoader2 framework][clusterloader2] was used to determine the maximum
50
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.
@@ -71,7 +71,7 @@ Various factors impact [sidecar performance][data-plane-performance] such as req
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.
73
73
74
-
#### Test Specifications
74
+
#### Test specifications
75
75
- Tested with two network plugins: Azure CNI Overlay and Azure CNI Overlay with Cilium [ (recommended network plugins for large scale clusters) ](/azure/aks/azure-cni-overlay?tabs=kubectl#choosing-a-network-model-to-use)
76
76
- Node SKU: Standard D16 v5 (16 vCPU, 64-GB memory)
77
77
- Kubernetes version: 1.28.5
@@ -81,7 +81,7 @@ Various factors impact [sidecar performance][data-plane-performance] such as req
81
81
-`http/1.1` protocol and mutual TLS enabled
82
82
- 26 data points collected
83
83
84
-
#### CPU and Memory
84
+
#### CPU and memory
85
85
The memory and CPU usage for both the client and server proxy for 16 client connections and 1000 QPS across all network plugin scenarios is roughly 0.4 vCPU and 72 MB.
0 commit comments