Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A question about Incremental xDS in high concurrency scenarios #37908

Open
bearslyricattack opened this issue Jan 7, 2025 · 1 comment
Open
Labels
area/xds question Questions that are neither investigations, bugs, nor enhancements

Comments

@bearslyricattack
Copy link

Hello, I would like to know how Envoy handles concurrent scenarios when using the incremental XDS of Envoy. When the control plane sends a request and Envoy has not yet completed processing and responded with an ACK, the control plane issues a new configuration update? Is it maintaining an internal queue for sequential execution? How much does its performance improve compared to full updates when the control surface is frequently updated?

@bearslyricattack bearslyricattack added the triage Issue requires triage label Jan 7, 2025
@zuercher zuercher added area/xds question Questions that are neither investigations, bugs, nor enhancements and removed triage Issue requires triage labels Jan 7, 2025
@zuercher
Copy link
Member

zuercher commented Jan 7, 2025

The control plane messages (which are a stream of responses to Envoy's stream of requests) are processed sequentially. There's no explicit queue within Envoy -- the response stream will accumulate in the grpc client, which will exert back pressure to the control plane in the event that multiple incremental updates are issued quickly enough.

I can't speak to the performance of the update within Envoy. I know that configurations with a large number of listeners, clusters and/or clusters with high cardinality can take significant time just to transmit from the control plane to Envoy. In my experience the network delay dominated the latency between the control plane initiating an update and completing it within Envoy.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/xds question Questions that are neither investigations, bugs, nor enhancements
Projects
None yet
Development

No branches or pull requests

2 participants