Grpc zstd compression for ingester client #10411
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What this PR does
This PR implementing zstd grpc compression support between distributors and ingesters.
Context: although S2 looks like better candidate for generic GRPC compression (see my tests), I tested another implementation of ZSTD compressor, and found out that it achieves 20% better compression than S2 in exchage of 40% of CPU, which is still better then gzip.
Please note, that enabling ZSTD compression for other components still cause noticeable memory consumption increase, so, I implemented it only for ingester, where I do not see such effect.
Which issue(s) this PR fixes or relates to
Fixes #8522
Checklist
CHANGELOG.md
updated - the order of entries should be[CHANGE]
,[FEATURE]
,[ENHANCEMENT]
,[BUGFIX]
.about-versioning.md
updated with experimental features.