Skip to content
This repository has been archived by the owner on Aug 2, 2022. It is now read-only.

Use tested rocksdb_options.ini for sample file and add missing max_wr… #10557

Merged
merged 2 commits into from
Jul 21, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion libraries/chain_kv/include/b1/chain_kv/chain_kv.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -328,13 +328,14 @@ struct database {
// Those are from RocksDB Performance Tuning Guide for a typical
// setting. Applications are encuroage to experiment different settings
// and use options file instead.
options.max_write_buffer_number = 10;
options.compaction_style = rocksdb::kCompactionStyleLevel; // level style compaction
options.level0_file_num_compaction_trigger = 10; // number of L0 files to trigger L0 to L1 compaction.
options.level0_slowdown_writes_trigger = 20; // number of L0 files that will slow down writes
options.level0_stop_writes_trigger = 40; // number of L0 files that will stop writes
options.write_buffer_size = 256 * 1024 * 1024; // memtable size
options.target_file_size_base = 256 * 1024 * 1024; // size of files in L1
options.max_bytes_for_level_base = 10 * options.target_file_size_base; // total size of L1, recommended to be 10 * target_file_size_base
options.max_bytes_for_level_base = options.target_file_size_base; // total size of L1, recommended to be 10 * target_file_size_base but to match the number used in testing.

check(rocksdb::DB::Open(options, db_path, &p), "database::database: rocksdb::DB::Open: ");
}
Expand Down
155 changes: 141 additions & 14 deletions programs/rodeos/rocksdb_options.ini
Original file line number Diff line number Diff line change
@@ -1,18 +1,145 @@
# This is a sample RocksDB options file, modified from RocksDB Performance
# Tuning Guide for a typical configuration.
# This is a RocksDB option file.
#
# A typical RocksDB options file has four sections, which are
# Version section, DBOptions section, at least one CFOptions
# section, and one TableOptions section for each column family.
# The RocksDB options file in general follows the basic INI
# file format with the following extensions / modifications:
#
# * Escaped characters
# We escaped the following characters:
# - \n -- line feed - new line
# - \r -- carriage return
# - \\ -- backslash \
# - \: -- colon symbol :
# - \# -- hash tag #
# * Comments
# We support # style comments. Comments can appear at the ending
# part of a line.
# * Statements
# A statement is of the form option_name = value.
# Each statement contains a '=', where extra white-spaces
# are supported. However, we don't support multi-lined statement.
# Furthermore, each line can only contain at most one statement.
# * Sections
# Sections are of the form [SecitonTitle "SectionArgument"],
# where section argument is optional.
# * List
# We use colon-separated string to represent a list.
# For instance, n1:n2:n3:n4 is a list containing four values.
#
# Below is an example of a RocksDB options file:

[Version]
rocksdb_version=4.3.0
options_file_version=1.1

[DBOptions]
create_if_missing=true
max_open_files=765
max_background_jobs=20
# stats_dump_period_sec=600
# max_manifest_file_size=18446744073709551615
# bytes_per_sync=8388608
# delayed_write_rate=2097152
# WAL_ttl_seconds=0
# WAL_size_limit_MB=0
# max_subcompactions=1
# wal_dir=
# wal_bytes_per_sync=0
# db_write_buffer_size=0
# keep_log_file_num=1000
# table_cache_numshardbits=4
# max_file_opening_threads=1
# writable_file_max_buffer_size=1048576
# random_access_max_buffer_size=1048576
# use_fsync=false
# max_total_wal_size=0
max_open_files=768
# skip_stats_update_on_db_open=false
# max_background_compactions=16
# manifest_preallocation_size=4194304
# max_background_flushes=7
# is_fd_close_on_exec=true
# max_log_file_size=0
# advise_random_on_open=true
# create_missing_column_families=false
# paranoid_checks=true
# delete_obsolete_files_period_micros=21600000000
# log_file_time_to_roll=0
# compaction_readahead_size=0
create_if_missing=true
# use_adaptive_mutex=false
# enable_thread_tracking=false
# allow_fallocate=true
# error_if_exists=false
# recycle_log_file_num=0
# skip_log_error_on_recovery=false
# db_log_dir=
# new_table_reader_for_compaction_inputs=true
# allow_mmap_reads=false
# allow_mmap_writes=false
# use_direct_reads=false
# use_direct_writes=false
max_background_jobs=20

[CFOptions "default"]
compaction_style=kCompactionStyleLevel
level0_file_num_compaction_trigger = 10
level0_slowdown_writes_trigger = 20
level0_stop_writes_trigger = 40
write_buffer_size=268435456
target_file_size_base=268435456
max_bytes_for_level_base=2684354560
compaction_style=kCompactionStyleLevel
# compaction_filter=nullptr
# num_levels=6
# table_factory=BlockBasedTable
# comparator=leveldb.BytewiseComparator
# max_sequential_skip_in_iterations=8
# soft_rate_limit=0.000000
max_bytes_for_level_base=268435345
# memtable_prefix_bloom_probes=6
# memtable_prefix_bloom_bits=0
# memtable_prefix_bloom_huge_page_tlb_size=0
# max_successive_merges=0
# arena_block_size=16777216
# min_write_buffer_number_to_merge=1
# target_file_size_multiplier=1
# source_compaction_factor=1
# max_bytes_for_level_multiplier=8
# max_bytes_for_level_multiplier_additional=2:3:5
# compaction_filter_factory=nullptr
max_write_buffer_number=10
level0_stop_writes_trigger=40
# compression=kSnappyCompression
level0_file_num_compaction_trigger=10
# purge_redundant_kvs_while_flush=true
# max_write_buffer_size_to_maintain=0
# memtable_factory=SkipListFactory
# max_grandparent_overlap_factor=8
# expanded_compaction_factor=25
# hard_pending_compaction_bytes_limit=137438953472
# inplace_update_num_locks=10000
# level_compaction_dynamic_level_bytes=true
level0_slowdown_writes_trigger=20
# filter_deletes=false
# verify_checksums_in_compaction=true
# min_partial_merge_operands=2
# paranoid_file_checks=false
target_file_size_base=268435345 #536870690
# optimize_filters_for_hits=false
# merge_operator=PutOperator
# compression_per_level=kNoCompression:kNoCompression:kNoCompression:kSnappyCompression:kSnappyCompression:kSnappyCompression
# compaction_measure_io_stats=false
# prefix_extractor=nullptr
# bloom_locality=0
write_buffer_size=268435345 #536870690
# disable_auto_compactions=false
# inplace_update_support=false

[TableOptions/BlockBasedTable "default"]
format_version=4
index_block_restart_interval=16
# format_version=2
# whole_key_filtering=true
# no_block_cache=false
# checksum=kCRC32c
# filter_policy=rocksdb.BuiltinBloomFilter
# block_size_deviation=10
# block_size=8192
# block_restart_interval=16
# cache_index_and_filter_blocks=false
# pin_l0_filter_and_index_blocks_in_cache=false
# pin_top_level_index_and_filter=false
# index_type=kBinarySearch
# hash_index_allow_collision=true
# flush_block_policy_factory=FlushBlockBySizePolicyFactory