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

[Execution Node] EN startup time can be further reduced by reducing number of WAL segments #2207

Closed
fxamacker opened this issue Mar 25, 2022 · 0 comments · Fixed by #2223
Closed
Assignees
Labels
Execution Cadence Execution Team Performance

Comments

@fxamacker
Copy link
Member

fxamacker commented Mar 25, 2022

Problem

EN startup time can be improved.

Currently, checkpoint creation is triggered when more than 40 WAL files accumulate. Replaying each WAL file can take very roughly about 10-20 seconds each (depending on system specs, other activity, etc.)

Prior to PR #1944, it wasn't feasible to create checkpoints more frequently because checkpoint creation took 12-15+ hours on mainnet. After PR #1944, checkpoint creation should take very roughly around 15 minutes while consuming much less RAM.

EN startup time can be faster by having fewer WALs to replay during EN startup.

The Proposed Solution

  • Compare the benchmarks (checkpoint file loading + replaying WALS) using 40 WALs vs 20 WALs.
  • If needed, configure EN to use a different number of WALs to trigger checkpoint creation.

Preliminary Benchmarks

On benchnet, using loading checkpoint and replaying WALs takes about:

  • 10 mins 10 secs (40 WALs, current configuration)
  • 6 mins 40 secs (20 WALs, possible configuration)

Updates https://github.com/dapperlabs/flow-go/issues/6114

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Execution Cadence Execution Team Performance
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant