-
Notifications
You must be signed in to change notification settings - Fork 722
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
query commands optimization (Performance high memory usage) #4325
Comments
This is definitely an increasingly needed improvement. |
I would also say that individually querying for each of the MARK, SET, and GO snapshots should be added. |
Can you elaborate what being able to query for these separately gives us? Is this for performance reasons? |
@newhoggy Each of these snapshots is HUGE on its own. Being able to query just for the one you need greatly improves performance of utilizing them and parsing the cbor. It reduces memory and cpu usage. |
This shouldn't be necessary. There will be a new query |
@newhoggy does that return the pool's sigma value for all 3 snapshots? |
This is what you get:
I believe you can compute your sigma values from those. There is also a PR to allows multiple stake pools to be queried at the same time which will change it to this: |
@newhoggy This command internally pulls down the entire ledger state from cardano-node to cardano-cli to calculate these values. It does not solve the high memory usage issue. |
What
Code review (joint effort ledger and cli) aiming to reduce memory usage of these commands
We have found that the original implementation was downloading the entire ledger state.
This is being fixed.
Why
The above are useful commands for stake pools but running them requires from 16 to 60GB of RAM. Crash the node and OOM any machine with less than that.
Benefits by persona
Stake pools: Can query their nodes reliably and get the information they need to make informed maintenance and business decisions.
Dependencies
None remaining.
Risks
None.
The text was updated successfully, but these errors were encountered: