Skip to content

Commit a225836

Browse files
author
Jill Grant
authored
Update istio-scale.md
Minor casing fixes
1 parent ffb0b1d commit a225836

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

articles/aks/istio-scale.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
---
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
44
ms.topic: article
55
ms.custom: devx-track-azurecli
66
ms.date: 03/19/2024
77
ms.author: shalierxia
88
---
99

10-
# **Istio service mesh add-on performance**
10+
# Istio service mesh add-on performance
1111
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.
1212

1313
## Control plane performance
@@ -16,7 +16,7 @@ The Istio-based service mesh add-on is logically split into a control plane (`is
1616
- Pod churn: examines the impact of pod churning on `istiod`. To reduce variables, only one service is used for all sidecars.
1717
- 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.
1818

19-
#### Test Specifications
19+
#### Test specifications
2020
- One `istiod` instance with default settings
2121
- Horizontal pod autoscaling disabled
2222
- 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
2727
### Pod churn
2828
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.
2929

30-
#### Sidecar Capacity and Istiod CPU and Memory
30+
#### Sidecar capacity and Istiod CPU and memory
3131

32-
**Azure CNI Overlay**
32+
**Azure CNI overlay**
3333

3434
| Churn (%) | Churn Rate (sidecars/sec) | Sidecar Capacity | Istiod Memory (GB) | Istiod CPU |
3535
|-------------|-----------------------------|--------------------|----------------------|--------------|
@@ -38,7 +38,7 @@ The [ClusterLoader2 framework][clusterloader2] was used to determine the maximum
3838
| 50 | 31.2 | 15000 | 25.4 | 15 |
3939

4040

41-
**Azure CNI Overlay with Cilium**
41+
**Azure CNI overlay with Cilium**
4242

4343
| Churn (%) | Churn Rate (sidecars/sec) | Sidecar Capacity | Istiod Memory (GB) | Istiod CPU |
4444
|-------------|-----------------------------|--------------------|----------------------|--------------|
@@ -50,13 +50,13 @@ The [ClusterLoader2 framework][clusterloader2] was used to determine the maximum
5050
### Multiple services
5151
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.
5252

53-
**Sidecar Capacity**
53+
**Sidecar capacity**
5454

5555
| Azure CNI Overlay | Azure CNI Overlay with Cilium |
5656
|---------------------|---------------------------------|
5757
| 20000 | 20000 |
5858

59-
**CPU and Memory**
59+
**CPU and memory**
6060

6161
| Resource | Azure CNI Overlay | Azure CNI Overlay with Cilium |
6262
|------------------------|--------------------|---------------------------------|
@@ -71,7 +71,7 @@ Various factors impact [sidecar performance][data-plane-performance] such as req
7171

7272
[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.
7373

74-
#### Test Specifications
74+
#### Test specifications
7575
- 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)
7676
- Node SKU: Standard D16 v5 (16 vCPU, 64-GB memory)
7777
- Kubernetes version: 1.28.5
@@ -81,7 +81,7 @@ Various factors impact [sidecar performance][data-plane-performance] such as req
8181
- `http/1.1` protocol and mutual TLS enabled
8282
- 26 data points collected
8383

84-
#### CPU and Memory
84+
#### CPU and memory
8585
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.
8686

8787
#### Latency

0 commit comments

Comments
 (0)