-
Notifications
You must be signed in to change notification settings - Fork 804
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
Create a new flag on RocksDB for high spec hardware to boost performance #4423
Conversation
…r high spec hardware to boost performance. Signed-off-by: Ameziane H <[email protected]>
…r high spec hardware to boost performance. Signed-off-by: Ameziane H <[email protected]>
new DBOptions() | ||
.setCreateIfMissing(true) | ||
.setMaxOpenFiles(configuration.getMaxOpenFiles()) | ||
.setDbWriteBufferSize(ROCKSDB_MEMTABLE_SIZE_HIGH_SPEC) | ||
.setMaxBackgroundCompactions(configuration.getMaxBackgroundCompactions()) |
Check notice
Code scanning / CodeQL
Deprecated method or constructor invocation
new DBOptions() | ||
.setCreateIfMissing(true) | ||
.setMaxOpenFiles(configuration.getMaxOpenFiles()) | ||
.setMaxBackgroundCompactions(configuration.getMaxBackgroundCompactions()) |
Check notice
Code scanning / CodeQL
Deprecated method or constructor invocation
…r high spec hardware to boost performance. Signed-off-by: Ameziane H <[email protected]>
Minimum hardware requirements to run this flag? |
I just update the description @milesthedisch, you must have at least 16 GiB RAM. |
Signed-off-by: garyschulte <[email protected]>
burned in on mainnet along with 4417 and 4425 |
…nce (hyperledger#4423) * Create a new flag on RocksDB (--Xplugin-rocksdb-high-spec-enabled) for high spec hardware to boost performance. Signed-off-by: Ameziane H <[email protected]>
Signed-off-by: Ameziane H [email protected]
PR description
Create a new flag on RocksDB (--Xplugin-rocksdb-high-spec-enabled) for high spec hardware to boost performance.
With this first version, the impact is on memory usage, as we're tuning RocksDB block cache and Memtables size. By high spec here, we mean a VM or machine with more than 16 GiB. Other modifications in future may include other resources' requirements but for now, the only requirement is on RAM.
The results are promising on a 32 GiB AWS VM, as this new flag reduces 95 percentile block processing time by 30%.
Performance improvements may appear in a couple of hours because of cache warm up time, as we can notice with RocksDB block cache hit ratio and RocksDB get time :
Fixed Issue(s)
Documentation
doc-change-required
label to this PR ifupdates are required.
Changelog