Skip to content
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

solana-ledger-tool verify command is too slow #3155

Closed
mvines opened this issue Mar 6, 2019 · 6 comments
Closed

solana-ledger-tool verify command is too slow #3155

mvines opened this issue Mar 6, 2019 · 6 comments
Assignees

Comments

@mvines
Copy link
Member

mvines commented Mar 6, 2019

solana-ledger-tool verify takes ~5minutes to run during a testnet sanity check (cc: #2314). Culprit is very likely process_blocktree().

Decide if we should just disable ledger verification as a part of ./net.sh sanity or try to optimize.

Example: https://buildkite.com/solana-labs/testnet-management/builds/23148#4b97278e-1ad9-4eeb-9028-5a0467d81f85/228

@mvines mvines added this to the v0.12 Beacons milestone Mar 6, 2019
@mvines
Copy link
Member Author

mvines commented Mar 8, 2019

#3192 switches process_blocktree() to use par_process_entries() under the hood, but that didn't seem to produce an meaningful speed up in a quick test of processing a ledger output by a couple minutes of ./run.sh.

@sambley - how hard is it to create those profiling flame graphs? Any docs on how? I think the next step here is to grab a profile of process_blocktree() and see where the time is going

@sambley
Copy link
Contributor

sambley commented Mar 9, 2019

This link has the required information to generate the profiling information
https://blog.anp.lol/rust/2016/07/24/profiling-rust-perf-flamegraph/

@sambley
Copy link
Contributor

sambley commented Mar 9, 2019

@mvines, let me know if you want to take a look at it

@sambley
Copy link
Contributor

sambley commented Mar 9, 2019

Looks like significant amount of time is spent in iterating over StatusCache::has_signature(). In this run it was taking around 55 secs to complete the verify.
flame.pdf

@sambley
Copy link
Contributor

sambley commented Mar 9, 2019

This change has an update to increase NUM_TICKS_PER_SECOND to 100 from 10 which seems to improve the peformance a bit
766f3ec

@sambley
Copy link
Contributor

sambley commented Mar 9, 2019

Looks like the bottleneck is inside accounts squash, looking into it

brooksprumo pushed a commit to brooksprumo/solana that referenced this issue Oct 14, 2024
* build(deps): bump bytemuck from 1.18.0 to 1.19.0

Bumps [bytemuck](https://github.com/Lokathor/bytemuck) from 1.18.0 to 1.19.0.
- [Changelog](https://github.com/Lokathor/bytemuck/blob/main/changelog.md)
- [Commits](Lokathor/bytemuck@v1.18.0...v1.19.0)

---
updated-dependencies:
- dependency-name: bytemuck
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Update all Cargo files

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants