From 6ad5fc5c6bdf269fba3ba5e3de4c9ae29fd6f285 Mon Sep 17 00:00:00 2001 From: Mitch Connors Date: Wed, 3 Sep 2025 15:51:53 -0700 Subject: [PATCH 1/3] add initial ambient mc perf doc --- .../ops/deployment/ambient-mc-perf/index.md | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 content/en/docs/ops/deployment/ambient-mc-perf/index.md diff --git a/content/en/docs/ops/deployment/ambient-mc-perf/index.md b/content/en/docs/ops/deployment/ambient-mc-perf/index.md new file mode 100644 index 0000000000000..9ac8124156963 --- /dev/null +++ b/content/en/docs/ops/deployment/ambient-mc-perf/index.md @@ -0,0 +1,30 @@ +--- +title: Ambient Multicluster Performance +description: Ambient Multicluster performance and scalability summary. +weight: 30 +keywords: + - performance + - scalability + - scale + - multicluster +owner: istio/wg-environments-maintainers +test: n/a +--- + +Multicluster deployments with Ambient mode enable you to offer truly globally resilient applications at scale with minimal overhead. In addition to its normal functions, the Istio control plane creates watches on all remote clusters to keep an up-to-date listing of what global services each cluster offers. The Istio dataplane can route traffic to these remote global services, either as a part of normal traffic distribution, or specifically when the local service is unavailable. + +## Control plane performance + +As documented [here](/docs/ops/deployment/performance-and-scalability), the Istio control plane generally scales as the product of deployment changes, configuration changes, and the number of connected proxies. Ambient Multi Cluster adds two new dimensions to the Control Plane scalability story: number of remote clusters, and number of remote services. This means that adding 10 remote services to the mesh has substantially lower impact on the control plane performance than adding 10 local services. + +Our Multicluster Control Plane Load test created 300 services with 4000 endpoints in each of 10 clusters, and added these clusters to the mesh one at a time. The approximate control plane impact of adding a remote cluster at this scale was **1% of a CPU core, and 180 MB of memory**. At this scale, it should be safe to scale well beyond 10 clusters in a mesh with a properly scaled control plane. One item to note is that for Multicluster scalability, horizontally scaling the control plane will not help, as each control plane instance maintains a complete cache of remote services. Instead, we recommend modifying the resource requests and limits of the control plane to scale vertically to meet the needs of your multicluster mesh. + +## Data plane performance + +When traffic is routed to a remote cluster, the originating data plane establishes an encrypted tunnel to the destination cluster's east/west gateway. It then establishes a secondary encrypted tunnel inside the first, which is terminated at the destination data plane. This use of inner and outer tunnels allows the data plane to securely communicate with the remote cluster without knowing the details of which pod ips represent which services. + +This double-encryption does carry some overhead, however. The Data Plane Load test measures the response latency of traffic between pods in the same cluster, versus those in two different clusters, to understand the impact of double encryption on latency. Additionally, double encryption requires double handshakes, which disproportionately affects the latency of new connections to the remote cluster. As you can see below, our initial connections observed an average of 2.2ms (346%) additional latency, while requests using existing connections observed an increase of 0.13ms (72%). While these numbers appear significant, it is expected that most multicluster traffic will cross availability zones or regions, and the observed increase in overhead latency will be minimal compared to the overall transit latency between datacenters. + +{{< image link="./ambient-mc-dataplane-reconnect.png" caption="request latency with reconnect" width="90%" >}} + +{{< image link="./ambient-mc-dataplane-existing.png" caption="request latency without reconnect" width="90%" >}} From 2c8b6fa902365df5ef32a18d0c045d7cd53b52c4 Mon Sep 17 00:00:00 2001 From: Steven Jin Xuan Date: Mon, 15 Sep 2025 13:00:39 -0400 Subject: [PATCH 2/3] Add figures --- .../ambient-mc-dataplane-existing.png | Bin 0 -> 74224 bytes .../ambient-mc-dataplane-reconnect.png | Bin 0 -> 67218 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 content/en/docs/ops/deployment/ambient-mc-perf/ambient-mc-dataplane-existing.png create mode 100644 content/en/docs/ops/deployment/ambient-mc-perf/ambient-mc-dataplane-reconnect.png diff --git a/content/en/docs/ops/deployment/ambient-mc-perf/ambient-mc-dataplane-existing.png b/content/en/docs/ops/deployment/ambient-mc-perf/ambient-mc-dataplane-existing.png new file mode 100644 index 0000000000000000000000000000000000000000..33c154c0e3087159f9fef224469aabed1c8b0a78 GIT binary patch literal 74224 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 literal 0 HcmV?d00001 diff --git a/content/en/docs/ops/deployment/ambient-mc-perf/ambient-mc-dataplane-reconnect.png b/content/en/docs/ops/deployment/ambient-mc-perf/ambient-mc-dataplane-reconnect.png new file mode 100644 index 0000000000000000000000000000000000000000..37acf4fba38a09253a95ce66681c7ba8799b276e GIT binary patch literal 67218 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

HPYZlBo}L_<`5u|74ie&h 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 literal 0 HcmV?d00001 From a867cd2b0881c99ead943f5688dc310dd21ae2c6 Mon Sep 17 00:00:00 2001 From: Mitch Connors Date: Fri, 19 Sep 2025 12:30:53 -0700 Subject: [PATCH 3/3] lint --- .spelling | 1 + content/en/docs/ops/deployment/ambient-mc-perf/index.md | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.spelling b/.spelling index 2f10579c50f39..906e75db04be2 100644 --- a/.spelling +++ b/.spelling @@ -876,6 +876,7 @@ microservice microservices middleboxes middleware +milliseconds minikube MirageDebug misconfiguration diff --git a/content/en/docs/ops/deployment/ambient-mc-perf/index.md b/content/en/docs/ops/deployment/ambient-mc-perf/index.md index 9ac8124156963..57fb38f9d4f9e 100644 --- a/content/en/docs/ops/deployment/ambient-mc-perf/index.md +++ b/content/en/docs/ops/deployment/ambient-mc-perf/index.md @@ -15,15 +15,15 @@ Multicluster deployments with Ambient mode enable you to offer truly globally re ## Control plane performance -As documented [here](/docs/ops/deployment/performance-and-scalability), the Istio control plane generally scales as the product of deployment changes, configuration changes, and the number of connected proxies. Ambient Multi Cluster adds two new dimensions to the Control Plane scalability story: number of remote clusters, and number of remote services. This means that adding 10 remote services to the mesh has substantially lower impact on the control plane performance than adding 10 local services. +As documented [here](/docs/ops/deployment/performance-and-scalability), the Istio control plane generally scales as the product of deployment changes, configuration changes, and the number of connected proxies. Ambient Multi Cluster adds two new dimensions to the Control Plane scalability story: number of remote clusters, and number of remote services. This means that adding 10 remote services to the mesh has substantially lower impact on the control plane performance than adding 10 local services. Our Multicluster Control Plane Load test created 300 services with 4000 endpoints in each of 10 clusters, and added these clusters to the mesh one at a time. The approximate control plane impact of adding a remote cluster at this scale was **1% of a CPU core, and 180 MB of memory**. At this scale, it should be safe to scale well beyond 10 clusters in a mesh with a properly scaled control plane. One item to note is that for Multicluster scalability, horizontally scaling the control plane will not help, as each control plane instance maintains a complete cache of remote services. Instead, we recommend modifying the resource requests and limits of the control plane to scale vertically to meet the needs of your multicluster mesh. ## Data plane performance -When traffic is routed to a remote cluster, the originating data plane establishes an encrypted tunnel to the destination cluster's east/west gateway. It then establishes a secondary encrypted tunnel inside the first, which is terminated at the destination data plane. This use of inner and outer tunnels allows the data plane to securely communicate with the remote cluster without knowing the details of which pod ips represent which services. +When traffic is routed to a remote cluster, the originating data plane establishes an encrypted tunnel to the destination cluster's east/west gateway. It then establishes a secondary encrypted tunnel inside the first, which is terminated at the destination data plane. This use of inner and outer tunnels allows the data plane to securely communicate with the remote cluster without knowing the details of which pod IPs represent which services. -This double-encryption does carry some overhead, however. The Data Plane Load test measures the response latency of traffic between pods in the same cluster, versus those in two different clusters, to understand the impact of double encryption on latency. Additionally, double encryption requires double handshakes, which disproportionately affects the latency of new connections to the remote cluster. As you can see below, our initial connections observed an average of 2.2ms (346%) additional latency, while requests using existing connections observed an increase of 0.13ms (72%). While these numbers appear significant, it is expected that most multicluster traffic will cross availability zones or regions, and the observed increase in overhead latency will be minimal compared to the overall transit latency between datacenters. +This double-encryption does carry some overhead, however. The Data Plane Load test measures the response latency of traffic between pods in the same cluster, versus those in two different clusters, to understand the impact of double encryption on latency. Additionally, double encryption requires double handshakes, which disproportionately affects the latency of new connections to the remote cluster. As you can see below, our initial connections observed an average of 2.2 milliseconds(346%) additional latency, while requests using existing connections observed an increase of 0.13 milliseconds(72%). While these numbers appear significant, it is expected that most multicluster traffic will cross availability zones or regions, and the observed increase in overhead latency will be minimal compared to the overall transit latency between data centers. {{< image link="./ambient-mc-dataplane-reconnect.png" caption="request latency with reconnect" width="90%" >}}