SSDB 配置


注意

SSDB 的配置文件使用一个 TAB 来表示一级缩进, 不要使用空格来缩进, 无论你用1个, 2个, 3个, 4个, 5个, 6个, 7个, 8个或者无数个空格都不行!


重要

一定要记得修改你的 Linux 内核参数, 关于 max open files(最大文件描述符数)的内容, 请参考 [1]. 否则, 你会在 log.txt 看到Too many open files 类似的错误, 或者在客户端看到 Connection reset by peer 错误.


PS: 使用这个 c1000k 工具来测试你的系统最多支持多少并发连接.


监听网络端口

server:    ip: 127.0.0.1    port: 8888

默认的配置文件监听 127.0.0.1 本地回路网络, 所以无法从其它机器上连接此 SSDB 服务器. 如果你希望从其它机器上连接 SSDB 服务器, 必须把 127.0.0.1 改为 0.0.0.0.

同时, 利用配置文件的 deny, allow 指令限制可信的来源 IP 访问.

警告!

如果不做网络限制便监听 0.0.0.0 IP 可能导致被任意机器访问到你的数据, 这很可能是一个安全问题! 你可以结合操作系统的 iptables 来限制网络访问.



同步和复制

  • 参见 同步和复制

日志配置

另外参见 日志分析.

  • logger.level 日志级别

支持的日志级别有: debug, warn, error, fatal.

一般, 建议你将 logger.level 设置为 debug 级别.

  • logger.output 日志输出

可直接写相对路径或者绝对路径, 如果相对路径, 则是相对配置文件所在的目录.

如果你想输出日志到终端屏幕, 编辑 ssdb.conf, 将

logger:
    output: log.txt

修改为

logger:
    output: stdout
  • logger.rorate.size 日志循环和清理

设置日志拆分时的大小, 单位为字节数. 按照默认的配置, 日志会按 1000MB 大小进行切分, 切分后的文件名格式如:log.txt.20150723-230422.

切分后的日志文件不会自动被清理, 你需要自己写 crontab 脚本来清理.


内存占用

一个 ssdb-server 实例占用的内存瞬时(有可能, 而且即使达到, 也只是持续短时间)最高达到(MB):

cache_size + write_buffer_size  66 + 32

这是对于压缩选项没有开启的情况, 如果 compression: yes, 计算公式是:

cache_size + 10  write_buffer_size * 66 + 32

你可以调整配置参数, 限制 ssdb-server 的内存占用.