ethdb/pebble: add configuration changes - #33315
Merged
Merged
Conversation
It introduces two main changes: - remove the bloom filter at level6 - re-enable the read sampling compaction
Contributor
|
Gary tried this on our benchmark system and the bloom filter change saves ~4GB. So it's worth adding. The other change seems to have little effect, but it's good to remove the setting of this option if it's not significant anyway. |
weiihann
pushed a commit
to weiihann/go-ethereum
that referenced
this pull request
Jan 14, 2026
This introduces two main changes to Pebble's configuration: (a) Remove the Bloom filter at Level 6 The Bloom filter is never used at the bottom-most level, so keeping it serves no purpose. Removing it saves storage without affecting read performance. (b) Re-enable read-sampling compaction Read-sampling compaction was previously disabled in the hash-based scheme because all data was identified by hashes and basically no data overwrite. Read sampling compaction makes no sense. After switching to the path-based scheme, data overwrites are much more common, making read-sampling compaction beneficial and reasonable to re-enable.
gballet
pushed a commit
to BZO95/go-ethereum
that referenced
this pull request
May 21, 2026
This introduces two main changes to Pebble's configuration: (a) Remove the Bloom filter at Level 6 The Bloom filter is never used at the bottom-most level, so keeping it serves no purpose. Removing it saves storage without affecting read performance. (b) Re-enable read-sampling compaction Read-sampling compaction was previously disabled in the hash-based scheme because all data was identified by hashes and basically no data overwrite. Read sampling compaction makes no sense. After switching to the path-based scheme, data overwrites are much more common, making read-sampling compaction beneficial and reasonable to re-enable.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This introduces two main changes to Pebble's configuration:
(a) Remove the Bloom filter at Level 6
The Bloom filter is never used at the bottom-most level, so keeping it serves
no purpose. Removing it saves storage without affecting read performance.
(b) Re-enable read-sampling compaction
Read-sampling compaction was previously disabled in the hash-based scheme
because all data was identified by hashes and basically no data overwrite. Read
sampling compaction makes no sense.
After switching to the path-based scheme, data overwrites are much more common,
making read-sampling compaction beneficial and reasonable to re-enable.