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

Load balancing fixes #89

Merged
merged 3 commits into from
Aug 22, 2023
Merged

Load balancing fixes #89

merged 3 commits into from
Aug 22, 2023

Conversation

jwilder
Copy link
Collaborator

@jwilder jwilder commented Aug 22, 2023

This has a few changes to improve load balancing where new nodes are not used until the clients close connections. This decrease the idle timeout on ingestor so that they are closed more regualarly.

For segment transfers, this adds a little bit of concurrency to handle slow peers, but this fix really isn't sufficient and a larger follow up PR will handle this more reliably.

The last bit is to add an option to disable peer discovery/transfer which is useful for performance testing or validating the overhead of peer transfers/COGS. It can also be used to prevent the slow peers for transfers as s stop-gap fix.

Allows for transfers to be disabled which can be useful in some
situations and evaluating performance.
ingestor/cluster/replicator.go Outdated Show resolved Hide resolved
ingestor/metrics/handler.go Outdated Show resolved Hide resolved
This is a temp workaround for slow peers to reduce the sending
node getting backed up.  The transfer/upload stack needs some
larger rework to better handle overload and large backups.
Collector connections (and other clients) use HTTP keep-alive which
prevents connections from being closed on the server.  This can cause
problems when scaling out ingestor pods because the existing connections
persist and are not balanced to new pods.

This decreases the idle timeout to forces connections to close so a new connection
can be established which can land on a different host.
@jwilder jwilder merged commit 9a859f2 into main Aug 22, 2023
3 checks passed
@jwilder jwilder deleted the jwilder/perf branch August 22, 2023 16:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants