# Bitalostored

Option Default Recommended Description
log.is_debug false false Whether to enable debug log
log.rotation_time Daily Daily Log segmentation cycle
server.product_name - - Cluster name
server.address - - Redis service port
server.max_client 15000 - Maximum number of connections
server.net_event_loop_num 8 - Coroutines,advised to set the value to twice the threads
server.max_procs 2 - Threads
server.db_path - - Storage directory
server.slow_time "30ms" - Time threshold of slow query
server.slow_key_window_time "2000ms" - The cumulative slow query time for single key in statistical window. If cumulative time exceeds threshold, the request of related key will be forbidden.
server.slow_shield true - Whether to enable slow query forbidden
server.slow_ttl 1s - Statistical window for slow query
server.slow_maxexec 100 - The maximum number of concurrent slow queries allowed
server.slow_topn 100 - Forbid top-n slow query only
server.open_distributed_tx false false Whether to enable transactions, Bitalosproxy needs to be configured collaboratively置
plugin.open_raft false true Whether to enable raft
plugin.open_panic true true Whether to enable panic capture
plugin.open_pprof false false Whether to enable pprof
plugin.pprof_addr 26770 Pprof service port
plugin.open_gops false false Whether to enable gops, refer to https://github.com/google/gops (opens new window)
bitalos.write_buffer_size "256mb" "256mb"~"512mb" Memtable size of bitalosdb
bitalos.cache_size "0" "0" Cache size of bitalosdb
bitalos.cache_hash_size 294912 294912 Initial cache hashmap size of bitalosdb
bitalos.enable_wal true 存储:true,缓存:false Whether to enable bitalosdb’s WAL
bitalos.compact_start_time 1 1 The compact start time of bitalosdb, an hour in 24 hours
bitalos.compact_end_time 6 6 The compact end time of bitalosdb, an hour in 24 hours
bitalos.compact_interval 300 300 Bitalosdb compact interval
bitalos.bithash_gc_threshold 0.5 0.5 Bitalosdb's Bithash invalid data proportion threshold, compact when reaching the threshold
bitalos.compression_type 0 0 Bitalosdb compression type of bitalosdb, 0=no compression, 1=snappy compression
bitalos.enable_expired_deletion true true Whether to enable deletion of expired data
bitalos.expired_deletion_interval 60 60 Interval of delete expired data
bitalos.expired_deletion_qps_threshold 20000 20000 Expired data deletion qps threshold. When qps is greater than the threshold, expired data will not be deleted.
bitalos.expired_deletion_disable_start_time 0 0 Expired data deletion time (start), expired data deletion is not performed from expired_deletion_disable_start_time to expired_deletion_disable_end_time
bitalos.expired_deletion_disable_end_time 0 0 Expired data deletion time (end), expired data deletion is not performed from expired_deletion_disable_start_time to expired_deletion_disable_end_time
bitalos.io_write_qps_threshold 20000 20000 IO control threshold, used for bitalosdb's IOWriteLoadThresholdFunc callback to determine whether qps exceeds the threshold. If it exceeds, return false, otherwise return true
bitalos.max_field_size 10240 10240 Maximum length of of field for composite data type (set/zset/list/hash), default value is 10240, maximum value is 61440
bitalos.max_value_size 6291456 6291456 Maximum length of value, default value is 6291456, maximum value is 8388608
bitalos.enable_raftlog_restore false false Whether to enable raftlog recovery. If enabled, it is recommended to set bitalos.enable_wal false
bitalos.enable_page_block_compression false false Whether to enable Bitpage block compression,suggest to set true for storing huge small values
bitalos.enable_clock_cache false true Whether to enable clock cache. Clock cache period is 1 second. Set it to false if time accuracy is within milliseconds.
raft_queue.workers 60 60 Gorountine number of consumimg raft message for slave node
raft_queue.length 10000 10000 Maximum length of single consume goroutine for slave node
raft_cluster.cluster_id - - raft cluster id
raft_cluster.election_rtt 35 - Trigger election cycle
raft_cluster.heartbeat_rtt 1 - Heartbeat cycle
raft_cluster.check_quorm true true Whether master node periodically checks the majority node status. If the majority node status is not obtained, master will automatically become slave node.
raft_cluster.snapshot_entries 6000000 - Raftlog snapshot threshold, raftlog will be cleaned when the threshold is exceeded
raft_cluster.compaction_overhead 500000 - The number of logs retained by raftlog snapshot
raft_cluster.snapshot_compression_type 1 1 snapshot compression type, 0=no compression, 1=snappy compression
raft_cluster.entry_compression_type 1 1 Raftlog broadcast compression, 0=no compression, 1=snappy compression
raft_cluster.disable_auto_compactions false false Whether raftlog enables automatic compaction
raft_cluster.timeout "2s" - Raft operation timeout, such as adding/removing node, propose logs, etc.
raft_cluster.retry_times 1 - Number of retries to add/remove raft nodes
raft_cluster.async_propose true - Whether to enable raftlog asynchronous proposal
raft_cluster.is_observer - - Is observer node or not
raft_cluster.is_witness - - Is witness node or not
raft_nodehost.host_name - - Machine hostname
raft_nodehost.node_id - - Raft node id
raft_nodehost.raft_address - - raft service address
raft_nodehost.init_raft_addrlist - - raftinitial node address list
raft_nodehost.init_raft_nodelist - - raft initial node id list
raft_nodehost.join false -
raft_nodehost.snapshot_timeout "10s" - snapshot timeout
raft_nodehost.rtt 200 - Heartbeat rtt, unit: milliseconds
raft_nodehost.deployment_id - - Deployment id, default is 0
raft_nodehost.max_snapshot_send_bytes_persecod "60mb" - Number of bytes per second to send snapshot segment
raft_nodehost.max_snapshot_recv_bytes_persecod "60mb" - Number of bytes per second to receive snapshot segment
raft_state.interval "3s" - Periodically detect whether the latest heartbeat of the storage node is within the election cycle. If it exceeds the election cycle, the node status becomes false.
dynamic_deadline.client_ratio_threshold [0,20,50,80,90] - Ratio of service connection to max connection (max_clients))
dynamic_deadline.deadline_threshold ["1800s","600s","180s","60s","10s"] - According to current service connection number, set corresponding connect timeout for all connections. For example, client_ratio_threshold is 30%~59%, connection timeout is 100s.
ZUOYEBANG