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

Add ability for AIMDLimit to grow by a configurable amount #147

Open
IgorPerikov opened this issue Oct 2, 2019 · 2 comments · May be fixed by #153
Open

Add ability for AIMDLimit to grow by a configurable amount #147

IgorPerikov opened this issue Oct 2, 2019 · 2 comments · May be fixed by #153

Comments

@IgorPerikov
Copy link
Contributor

IgorPerikov commented Oct 2, 2019

When AIMD works in conjunction with windowed limit, it might be way too careful in growing back after bursty spike (and, therefore, a backoff), because it has to proceed window size requests, before increasing limit by 1

My proposal is to add new method to AIMDLimit Builder, e.g.

public AIMDLimit.Builder growBy(int amount)

defaulting to 1 (current behavior)

@IgorPerikov
Copy link
Contributor Author

@elandau any thoughts?

@IgorPerikov
Copy link
Contributor Author

IgorPerikov commented Dec 3, 2019

also, it looks like when combined with windowed, it might not work well with bursty load

because of this condition


during lower load, limit won't grow, but previously this limit could've been pessimised and there has to be some mechanism to try to increase it

am I thinking in a right direction? How to deal with bursty load in that situation? I assume some sort of queueing should be applied then, but am I missing something crucial?

Maybe just smaller window size would solve that 🤔

IgorPerikov added a commit to IgorPerikov/concurrency-limits that referenced this issue Dec 3, 2019
@IgorPerikov IgorPerikov linked a pull request Dec 3, 2019 that will close this issue
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

Successfully merging a pull request may close this issue.

1 participant