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

rpc: Disable compression for internal rpc replies #16548

Merged
merged 1 commit into from
Feb 9, 2024

Conversation

StephanDollberg
Copy link
Member

@StephanDollberg StephanDollberg commented Feb 8, 2024

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

  • none - not a bug fix (might manually backport later)
  • none - this is a backport
  • none - issue does not exist in previous branches
  • none - papercut/not impactful enough to backport
  • v23.3.x
  • v23.2.x
  • v23.1.x

Release Notes

  • none

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 redpanda-data/core-internal#1047
@StephanDollberg
Copy link
Member Author

@redpanda-data redpanda-data deleted a comment from vbotbuildovich Feb 8, 2024
Copy link
Member

@travisdowns travisdowns left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, great find.

@StephanDollberg StephanDollberg merged commit 4f257c8 into dev Feb 9, 2024
19 checks passed
@StephanDollberg StephanDollberg deleted the stephan/disable-internal-reply-compression branch February 9, 2024 21:30
@StephanDollberg
Copy link
Member Author

/backport 23.3.x

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants