rpc: Disable compression for internal rpc replies #16548
Merged
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.
On the internal rpc send side compression is enabled selectively via
opts parameters but on the reply side we compress all replies that are
above 1Kib unconditionally by default.
Compression is usually useful for trading compute for IO. There seems
little point in doing this for internal rpc. Brokers are mostly
connected on low latency/high throughput links so compression just adds
needless CPU overhead.
In the higher cloud tiers at the partition limits we see the health
report infra cause overhead and latency degregation in higher
percentiles.
A large chunk of this comes from compressing and decoding the massive
health report messages.
This patch disables compression which measurably improves the situation
as per above reasoning.
This change has little impact on normal append_entries flow as the
replies don't make the 1Kib min boundary anyway.
Ref https://github.com/redpanda-data/core-internal/issues/1047
Backports Required
Release Notes