We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
We've observed that around 5% of distributor CPU is spent calling runtime.newstack from the goroutines created by ring.DoBatch.
runtime.newstack
ring.DoBatch
It would be nice to avoid those allocations.
Ideally, this should be handled by the language itself, but it seems to be a recurring issue, ref: golang/go#18138
A workaround is to use a pool of goroutines to handle these calls, which would have their stacks reused.
Also considered growing the stack artificially using the growStack() method implementation from golang/go#18138
growStack()
-distributor.ingester-push-worker-goroutines
The text was updated successfully, but these errors were encountered:
I deployed this to our ops environment, and I can see a 7.5% reduction in CPU per request.
Sorry, something went wrong.
colega
Successfully merging a pull request may close this issue.
Is your feature request related to a problem? Please describe.
We've observed that around 5% of distributor CPU is spent calling
runtime.newstack
from the goroutines created byring.DoBatch
.It would be nice to avoid those allocations.
Describe the solution you'd like
Ideally, this should be handled by the language itself, but it seems to be a recurring issue, ref: golang/go#18138
A workaround is to use a pool of goroutines to handle these calls, which would have their stacks reused.
Describe alternatives you've considered
Also considered growing the stack artificially using the
growStack()
method implementation from golang/go#18138Steps
ring.DoBatch
PR-distributor.ingester-push-worker-goroutines
flag to Mimir PRThe text was updated successfully, but these errors were encountered: