diff --git a/libraries/chain_kv/include/b1/chain_kv/chain_kv.hpp b/libraries/chain_kv/include/b1/chain_kv/chain_kv.hpp index 76aab985dc2..cbce5d78ff6 100644 --- a/libraries/chain_kv/include/b1/chain_kv/chain_kv.hpp +++ b/libraries/chain_kv/include/b1/chain_kv/chain_kv.hpp @@ -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: "); } diff --git a/programs/rodeos/rocksdb_options.ini b/programs/rodeos/rocksdb_options.ini index fc0fc879fcd..a238439c8f6 100644 --- a/programs/rodeos/rocksdb_options.ini +++ b/programs/rodeos/rocksdb_options.ini @@ -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