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

Helidon Concurreny Limit module - Adding queueing support to AIMD #9542

Open
logovind opened this issue Nov 28, 2024 · 0 comments
Open

Helidon Concurreny Limit module - Adding queueing support to AIMD #9542

logovind opened this issue Nov 28, 2024 · 0 comments

Comments

@logovind
Copy link

Environment Details

  • Helidon Version: Helidon-4.1.x
  • Helidon SE or Helidon MP: SE & MP
  • JDK version: Java-21
  • OS: Linux
  • Docker version (if applicable):

we tried to explore the AIMD feature introduced in the Concurrency limit module. So we tried out our existing Spectra UCP example with helidon-4.1.4.

From tests we observed that,

  1. Significant volume of requests rejection with 503 , even for few bad requests above KPI.
    Ex : Even with backoff-ratio of 0.9, we see 68% request failures whereas only a small subset of 3% requests are above KPI of 1sec.
image
  1. The requests also fail due to sudden spikes , as the increase in dynamic concurrency takes time to adjust for the high user concurrency.
    Ex: 50 users test , it takes ~4.3sec to reach max-limit of 50 from initial-limit of 25. During this period, we do see ~ 3% of errors.

So it will be good if we have queuing support like in Fixed Limit, to avoid such request rejection errors.

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

No branches or pull requests

1 participant