You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Browse filesBrowse the repository at this point in the historyBrowse files
authored
[release/11.0] Increase spinning/polling aggressiveness in the thread pool in low-saturation scenarios (#132908)
Backport of #132765 to release/11.0
/cc @VSadov
## Customer Impact
- [ ] Customer reported
- [x] Found internally
Too aggressive parking of threadpool threads in response to spurious
wake ups may result in having too few active workers in bursty low
saturation scenarios and cause massive regressions.
Some tests like Websockets show nearly 4x less RPS compared to net10.
## Regression
- [x] Yes
- [ ] No
Introduced in #128606
The change resultied in improvements in high saturation
throughput-sensitive scenarios. It was later discovered that in low
staturation latency-sensitive scenarios it resulted in regressions.
## Testing
The fix was validated with various benchmarks both high-saturation and
low, on both x64 and arm.
- Websockets
- JSON (high, low, mid connection and client thread count)
- Orchard
- Nuget restore RPS tests
## Risk
Low.
This is an intentionally small change. The new parking policy will only
be enabled when the threadpool has more than 2/3 proc count workers.
Co-authored-by: Vladimir Sadov <vsadov@microsoft.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
0 commit comments