SSDB 配置

2019-05-03 22:01|来源: 网路

注意

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 的内存占用.

相关问答

更多
  • 在centos 7上使用python3.5, 系统本身带有python2.7, 自己没有将默认的python从2.7链接为3.5。 然后安装python3使用的包: ssdb, 安装方式 pip3 install ssdb,或者 直接下载包源文件,进入文件内,安装 python3 setup.py install 。
  • 优点:SSDB 对内存的需求小,是个较便宜的方案。 不差钱的话,Redis 在性能、稳定性和社区上都更加优秀 缺点:SSDB 实现很低效,主要是依赖 leveldb 会按 key 来排序的特性 Redis 测试时数据量小,只读写了内存的可能性
  • 没有这个单词,根据您的拼写来看,考虑应是:stab. stab 英[stæb] 美[stæb] vt. 刺; 刺; 将…刺入; 对…做出刺或戳的动作; vi. 刺伤; 戳; 用或似用带尖的武器刺; n. 尝试; 用或似用带尖武器刺的伤口; 突发的一阵; [例句]Somebody stabbed him in the stomach 有人朝他肚子上捅了一刀。 [其他] 第三人称单数:stabs 复数:stabs 现在分词:stabbing过去式:stabbed 过去分词:stabbed
  • 额,说一下个人意见:mongodb,一般用来存储比较大的数据,一般都是实时的,缓存成html没多大意义 memacahe 确实是缓存到内存的,但是不是一直在内存中,会通过机制存储到磁盘中,生成一个文档,可是设置隔多少时间存储一次
  • return (Long) getHibernateTemplate().save(); 上面那个是Spring集成的hibernate。。。 如果是纯hibernate的话就是session.save(pojo)....返回的是一个Serializable的对象,可强转成Long或者Integer等封装类,需手动转换成基本类型如int,long等
  • 可以使用一些/etc/security/console.apps/目录下为用户配置的程序. 这个目录中包括允许控制台用户使用/sbin和/usr/sbin中的某些应用程序的配置文件. 这些配置文件和它们所设置的应用程序享有相同名称. 控制台用户可以使用的一组重要应用程序程序包括三个可以用来关闭或重新启动系统的程序: /sbin/halt /sbin/reboot /sbin/poweroff 因为这些都是支持PAM的应用程序,因此需要时都可以调用pam_console.so 模块.
  • 这是一种趋势所在,可以用机械硬盘,希望可以帮到你
  • 下载JDK,然后进行环境变量的配置: TOMCAT_HOME=D:\Program Files\Apache Software Foundation\Tomcat 6.0(这是你装的TOMCAT的路径,注意没分号) JAVA_HOME=D:\Program Files\Java\jdk1.6.0_02(你装的JDK的路径,注意没有分号) JRE_HOME=D:\Program Files\Java\jre1.6.0_02 CLASSPATH=.; PATH=%JAVA_HOME%\bin; 然后启动TOMC ...
  • 不可以。CREATE EXTERNAL DATA SOURCE的文档指定目标必须是RDBMS外部数据源的Azure SQL数据库: -- Elastic Database query only: a remote database on Azure SQL Database as data source -- (only on Azure SQL Database) CREATE EXTERNAL DATA SOURCE data_source_name WITH ( ...
  • 因为它们通常是在Linux / OSX上开发,优化,测试和主要使用的。 然而, Windows版本的Redis是一个高质量的端口,它只是通过所有ServiceStack.Redis测试套件的官方发行版的一个小版本点,因此如果您只能访问Windows服务器,那么它是Linux版本的合适替代品。 Because they're typically developed, optimized, tested and primarily used on Linux/OSX. However the Windows v ...