Skip to content

How does exponential backoff work? #3252

Answered by ricmoo
maximebedard asked this question in Q&A
Discussion options

You must be logged in to vote

"A bit unpredictable" is the exact purpose of exponential backoff. :)

The goal of it is to handle situations of congestion... If too many connections were attempted at some time X, and everyone was told to wait 100ms and try again, you would then get the same too many connections re-trying at time X + 100. But having approximately 50% of them retry at time X + 0 and 50% at time X + 100 you increase the chances of the congestion being unclogged. If not, then a further knock at 25% X + 0, 25% at X + 100, another 25% at X + 200 and the remaining 25% at X + 300. And so on.

For more information on the awesome properties and rationale, check out Exponential Back-off on Wikipedia. :)

Replies: 1 comment 1 reply

Comment options

You must be logged in to vote
1 reply
@maximebedard
Comment options

Answer selected by maximebedard
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants
Converted from issue

This discussion was converted from issue #3238 on August 09, 2022 00:47.