-
Notifications
You must be signed in to change notification settings - Fork 108
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
Investigate busiest tasks per tokio-console #4583
Comments
There is a typo and this should say 20% ? |
In BTW, this seems to have changed. Now I get ~1000% CPU usage near the tip, and the sync seems to get stuck or take a super long time. Still no idea what's happening. |
Currently we've seen these blocking tasks:
|
CPU profiles seem to show these functions are the busiest. This CPU-bound work shouldn't be running in We mainly saw issues with Deserialization (in
Verification (in
Note commitment tree updates (in
Example code for zebra/zebra-consensus/src/primitives/ed25519.rs Lines 121 to 134 in 81727d7
CPU usage data: |
We can probably wrap up this call by doing the
Yep we probably can wrap up all write calls to the |
It's more efficient to wrap the highest-level call that includes all the CPU-heavy code. And every |
We've done enough on this for now, it's the note commitment trees. |
Motivation
tokio-console, for which we added support in #4519, is reporting a bunch of busy tasks but it's not clear what they are. We should investigate it.
On a syncing-pre-checkpoint node, it's looking like this in my machine:
The target is
tokio::task::blocking
and fields areCPU usage seems to be at 200% which does not seem to reflect that. There are 24 of those tasks and my CPU has 24 cores, so it feels like CPU usage should be much higher? Not sure.
Specifications
Investigations
perf
section)Missing
tokio-console
featuresRelated Work
The text was updated successfully, but these errors were encountered: