1179 字 | 3 分钟

Tendis存储版 配置指南

使用方法

  1. ./tendisplus ./tendisplus.conf

特殊配置: include other.conf

需要小心不能循环包含

参数配置

参数默认值推荐值说明
bind127.0.0.1
port8903-
loglevel-debug/verbose/notice/warning
logdir./-
storagerocks
dir./db-
dumpdir./dump-
rocks.blockcachemb409630%整机内存rocksdb整体的缓存大小,单位MB
requirepass-启用密码
masterauth-主从同步,从发送给主的密码
pidfile./tendisplus.pid-
version-increase
generallogtrue-全部命令打印日志开关:true/on/1
checkkeytypeforsetcmdfalseset命令是否校验key的类型:true/on/1
chunkSize0x4000
kvstorecount10rocksdb数据库数目
delcntindexmgr10000-每次调度删除过期key个数
deljobcntindexmgr1-删除过期key线程数
scancntindexmgr1000-每次调度扫描过期key个数
scanjobcntindexmgrv1-扫描过期key线程数
pausetimeindexmgr10-删除过期key调度时间间隔,单位秒
proto-max-bulk-len536870912-网络协议单行最大长度,默认512M
databases16-db个数,select命令使用
noexpirefalse-不执行主动过期,也不清理过期数据
maxbinlogkeepnum1000000-binlog最大保存个数
minbinlogkeepsec0-binlog最少保留时间,单位秒,0表示默认关闭该功能
maxclients10000-支持最大客户端数目
slowlog./slowlog-slowlog信息存到disk file的保存路径
slowlog-log-slower-than100000-slowlog阈值,单位微秒(μs),默认超过100ms就会记录慢查询
slowlog-flush-interval1000-将slowlog信息flush到disk file的间隔日志条数
slowlog-max-len128-slowlog信息在内存中维持的最大条数
slowlog-file-enabledtrue-若为true,可将slowlog信息写入disk file中,持久化存储,写入到file的记录数量是不受限制的; 若为false,则该功能被禁止
netiothreadnum0-网络模块,读写线程数,0表示默认max(4,cpunum/4)
executorthreadnum0-命令模块,处理线程数,0表示默认max(4,cpunum/2)
binlogRateLimitMB64-主从全量同步整体限速值,单位MB
netBatchSize10241024-主从全量同步每个batch大小
netBatchTimeoutSec10-主从全量同步每个batch超时时间,单位秒
timeoutSecBinlogWaitRsp10-主从增量同步大于10M超时时间,单位秒
incrPushThreadnum50-主从同步增量推送线程数
fullPushThreadnum4-主从同步全量推送线程数
fullReceiveThreadnum4-主从同步全量接受线程数
logRecycleThreadnum12-删除binlog线程数
truncateBinlogIntervalMs1000-删除binlog调度间隔,单位ms
truncateBinlogNum50000-删除binlog单次调度最大个数
binlogFileSizeMB64-binlog文件大小限制
binlogFileSecs2060-binlog文件切换间隔
keysDefaultLimit100keys命令默认返回key个数
lockWaitTimeOut3600tendis锁等待时间,例如一个key等待的锁时间超过该值,就会返回超时错误
rocks.blockcache_strict_capacity_limitfalse-rocksdb是否严格控制内存
rocks.disable_walfalserocksdb是否禁用wal
rocks.flush_log_at_trx_commitfalserocksdb是否每次事务提交都同步写redo log,若配置为1,数据可靠性更强
rocks.wal_dir“”rocksdb的redo日志存储目录
rocks.compress_typesnappyrocksdb的压缩算法,目前支持snappy,lz4,none

集群配置

参数默认值推荐值动态修改说明
cluster-enabled-X以集群模式启动Tendis存储版
cluster-require-full-coverage槽是否全覆盖
cluster-slave-no-failover不支持slave failover
cluster-node-timeout15000节点互连超时的阀值,ms为单位
cluster-migration-barrier1主设备将保持连接的最小从设备数量
cluster-slave-validity-factor10slave 选举无效因子
cluster-migration-distance10000migarte过程中发送方追加binlog的最小距离(搬迁时候如果写入量很大,这个值可以设置高一点)
cluster-migration-distance10migarte过程中发送方追加binlog的迭代次数
cluster-migration-slots-num-per-task10搬迁一个子任务处理的最大slot个数
cluster-migration-rate-limit32搬迁过程中 流量限流值 MB为单位
binlog-send-batch256一次发送binlog的数据包个数
binlog-send-bytes16 1024 1024一次发送的binglog 单个数据包字节数

命令换名: rename-command command othername

可以把command换一个名字,从而实现禁用的功能。比如: rename-command flushdb flushdb_rename

命令映射: mapping-command command othercommand

可以把一个command映射到另外一个命令,从而实现替换实际操作的功能。比如: mapping-command dbsize emptyint mapping-command keys emptymultibulk 这里提供了几个空命令,用于直接返回空值: emptyint 返回0 emptyok 返回+ok emptybulk 返回空字符串 emptymultibulk 返回多行的空字符串

注意事项

master需要注意参数:maxbinlogkeepnum 和 minbinlogkeepsec。slave在拉取全量的起始时刻之后的binlog需要保留而不被删掉,可以调大这两个参数。其中minbinlogkeepsec默认是0,表示关闭,它优先级比maxbinlogkeepnum更高。