Backoff & Rate Limit
Compare retry backoff strategies and rate-limit algorithms with live, parameterized visualizations.
Delay per attempt
About this tool
Backoff mode plots the delay before each retry for six strategies side by side — fixed, linear, exponential, and the AWS jitter variants (full, equal, decorrelated) — so you can see how aggressively each one spreads retries and what total wait it adds. Tune base delay, factor, cap, and attempt count, and reroll the jitter to see the spread.
Rate Limit mode simulates token bucket, leaky bucket, fixed window, and sliding window against the same traffic, marking each request allowed or throttled on a timeline. Adjust the limit, window, request rate, and an initial burst to see exactly where each algorithm differs.
Frequently asked questions
Why add jitter to exponential backoff?+
Without jitter, many clients that failed at the same moment retry at the same moment — a thundering herd that re-overloads the server. Jitter randomizes the delays so retries spread out. AWS recommends full or decorrelated jitter for this reason.
What is the difference between full and equal jitter?+
Full jitter picks a delay uniformly in [0, exp], maximizing spread but sometimes retrying very soon. Equal jitter keeps half the exponential delay fixed and randomizes the other half, trading some spread for a guaranteed minimum wait.
Token bucket vs leaky bucket — which should I use?+
Token bucket allows bursts up to its capacity then settles to the refill rate — good for APIs that tolerate spikes. Leaky bucket enforces a smooth, constant output rate regardless of bursts — good when downstream must not be spiked.
Why does the fixed window allow a double burst?+
A fixed window resets its counter at the boundary, so a client can send the full limit just before the reset and again right after — up to 2× the limit across the boundary. Sliding window avoids this by counting over a moving interval.
Is the jitter actually random?+
It uses a seeded PRNG so the chart is stable while you tune other parameters; "Reroll jitter" advances the seed to show a different sample. Real clients should use a true random source.