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

Epic: per-tenant write throttle #7564

Open
5 tasks
problame opened this issue Apr 30, 2024 · 0 comments
Open
5 tasks

Epic: per-tenant write throttle #7564

problame opened this issue Apr 30, 2024 · 0 comments

Comments

@problame
Copy link
Contributor

problame commented Apr 30, 2024

(Formerly, #5899 tracked throttling for both read and write path. We moved the write path throttle here to be able to reduce scope & be able to close #5889)

Motivation

DoD

Pageserver artificially caps the per-tenant throughput on the write path (=ingest).

I.e., to all upstream Neon components, this cap will appear to be the maximum ingest performance that you can get per tenant per pageserver.

Like with #5899, the limit will be chosen such that a TBD (small single-digit) number of tenants can run at the limit. Discovery of the limit values is done through gradual rollout, conservative experimentation, and informed by benchmarks.

There is enough observability to clearly disambiguate slowness induced by limiting from slowness caused by otherwise slow pageserver. This disambiguation must be on per-tenant (better: per-timeline) granularity.

The limits are on-by-default and cannot be permanently overridden on a per-tenant basis.
I.e., the implementation need not be suited for productization as "performance tier" or "QoS" feature.

TBD: specify how exactly the backpressure is propagated to SKs and Computes. The current "max lag" is insufficient; it's a hard limit.

Interactions

Sharding: with sharding, the throttling happens per shard instead of per tenant. Exactly like in #5899.

High-Level Plan

Write Path

@problame problame self-assigned this Apr 30, 2024
@problame problame changed the title Epic: per-tenant write throttle [DRAFT] Epic: per-tenant write throttle Apr 30, 2024
@problame problame removed their assignment Apr 30, 2024
@jcsp jcsp changed the title [DRAFT] Epic: per-tenant write throttle Epic: per-tenant write throttle May 2, 2024
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

No branches or pull requests

1 participant