Bug #21124
closedSeparate request limits for API server and Keepstore
Description
In 2.7.0 we split MaxQueuedRequests
and MaxConcurrentRequests
.
We reduced the default value of MaxConcurrentRequests
drastically and that caused problems. We should change the default back and add a new thing called MaxRailsRequests
.
MaxQueuedRequests is number of requests accepted
MaxConcurrentRequests is number of workers in Go
MaxRailsRequests is number of requests sent to Rails
Related issues
Updated by Peter Amstutz about 1 year ago
- Assigned To set to Tom Clegg
- Category set to API
Updated by Tom Clegg about 1 year ago
21124-max-rails-reqs @ 2966d83fa4e18eb62d1bbb1c9a0c39d9d845112f -- developer-run-tests: #3875
Updated by Tom Clegg about 1 year ago
21124-max-rails-reqs @ a12de3eeb2f75458120357ed520bb511242104bd -- developer-run-tests: #3876
- All agreed upon points are implemented / addressed.
- I went with the name
MaxConcurrentRailsRequests
- I went with the name
- Anything not implemented (discovered or discussed during work) has a follow-up story.
- N/A
- Code is tested and passing, both automated and manual, what manual testing was done is described
- ✅
- Documentation has been updated.
- ✅ added upgrade note (looks like we added an upgrade note when changing the default from unlimited to 64, but forgot to add a note when changing the default to 8, oops)
- Behaves appropriately at the intended scale (describe intended scale).
- should be what we intended to happen in #20680.
- Considered backwards and forwards compatibility issues between client and server.
- N/A
- Follows our coding standards and GUI style guidelines.
- ✅
Updated by Tom Clegg about 1 year ago
- Related to Support #20680: installer and defaults changes added
Updated by Lucas Di Pentima about 1 year ago
lib/service/cmd.go
lines 151-163:
- I think this limitation needs to be clarified at least on the config file reference, with the additional comment that API.MaxConcurrentRequests applies also to other arvados services.
- Also, I'm thinking that capping the controller MaxReq config to whatever Rails has (default 8 ) may still cause issues, as the Log API goes through controller, wdyt?
If my second comment above is a non-issue, then it LGTM.
Updated by Tom Clegg about 1 year ago
Lucas Di Pentima wrote in #note-7:
- I think this limitation needs to be clarified at least on the config file reference, with the additional comment that API.MaxConcurrentRequests applies also to other arvados services.
Good point, added.
- Also, I'm thinking that capping the controller MaxReq config to whatever Rails has (default 8 ) may still cause issues, as the Log API goes through controller, wdyt?
I think this is fine/desirable -- "post logs" requests are automatically de-prioritized, and rejected if they exceed LogCreateRequestFraction.
Updated by Tom Clegg about 1 year ago
- % Done changed from 0 to 100
- Status changed from In Progress to Resolved
Applied in changeset arvados|3f3686330be2141f0cacc511eabac15cc8449e7c.