BenWestgate / Bails

Bails is a Bitcoin solution protecting against surveillance, censorship, and confiscation. It installs Bitcoin Core on the encrypted Persistent Storage of Tails, creates and recovers Bitcoin Core wallets from Codex32 (BIP93) seed backups, and creates backup Bails USB sticks and shareable blank Bails USB sticks. Learn more in README.md.
MIT License
40 stars 7 forks source link

Test: IBD performance on 32GB with higher prune value #37

Closed BenWestgate closed 3 months ago

BenWestgate commented 11 months ago

Currently the sync performance of 32 GB USB sticks are most affected by the prune setting.

Currently 10GB is left free, Leaving only enough free to hold the assume_chain_state value may sync faster due to less frequent flushing due to pruning.

Compare performance on a 16GB Memory PC between -prune= USB_size - (10+assume_chain_state_size) -prune= USB_size - (assume_chain_state_size)

If the time savings is -20% or more remove the 10 GB buffer.

Then do the same comparison on a 4GB laptop as leaving some space free on the USB can improve the speed of flushes. If it does, A compromise 5 GB free might be used or the offset value determined by system RAM relative to chainstate and/or assume_chainstate size.

BenWestgate commented 11 months ago

With a 32GB USB & 16GB RAM and quad core CPU perform two races to July 1 2023 on clearnet.

report if significant performance difference

then repeat with 4GB laptop and same USB

report if significant performance difference

The prune "buffer" can be adjusted as a function of memory available if there is an opposite affect of the change on the smaller RAM. (potentially likely)

BenWestgate commented 3 months ago

Closing this issue because using the entire disk space to reduce prunes is a planned feature for Bitcoin Core some day. As well as because AssumeUTXO will make sync performance less critical to usability.

After that performance upgrade, we can test if it's safe and faster to leave less than 10GiB free. This is pennies in front of steamroller.