trove在mitaka版本更新了一个功能,configuration

具体如下:

trove help |grep configuration
configuration-attach Attaches a configuration group to an
configuration-create Creates a configuration group.
configuration-default Shows the default configuration of an
configuration-delete Deletes a configuration group.
configuration-detach Detaches a configuration group from an
configuration-instances Lists all instances associated with a
configuration group.
configuration-list Lists all configuration groups.
configuration-parameter-list Lists available parameters for a
configuration group.
configuration-parameter-show Shows details of a configuration parameter.
configuration-patch Patches a configuration group.
configuration-show Shows details of a configuration group.
configuration-update Updates a configuration group.
configuration, or replica source.

这个功能使得我们可以在实例或集群(部分集群支持)运行的时候,动态的修改数据库(datastore)的配置参数,同时可以批量的修改实例或集群(部分集群支持)。

以下是trove中收集到的有关redis的参数,从网上搜集了关于这些参数的解释,这可以让我们更好的使用configuration的功能。

tcp-backlog
客户端连接队列值,这个值是socket里面listen函数的参数。如果服务器caps很高,需要把这个参数改大些。 timeout
客户端空闲多少s后踢掉,0禁止 tcp-keepalive
检测挂掉的连接,单位s,0禁止 loglevel
日志的等级,debug,verbose,notice,warning databases
redis中有多少个数据库,默认即可 save
将redis内存数据序列化到磁盘的时间和频率
900s有1个key改变就会序列化,其他的读者可以自己看下 stop-writes-on-bgsave-error
序列化的时候是否停止写操作 rdbcompression
序列化的数据是否压缩 rdbchecksum
序列化的数据是否校验其完整性 slave-serve-stale-data
当slave丢失与master的连接时,或者slave仍然在于master进行数据同步时(还没有与master保 持一致),#slave可以有两种方式来响应客户端请求:
1) 如果 slave-serve-stale-data 设置成 'yes' (the default) slave会仍然响应客户端请求,此时可能会有问题。
2) 如果 slave-serve-stale data设置成 'no' slave会返回"SYNC with master in progress"这样的错误信息。 但 INFO 和SLAVEOF命令除外。 slave-read-only yes
slave是否为"只读" repl-diskless-sync
无硬盘复制功能可以通过来配置
repl-diskless-sync-delay用来配置当收到第一个请求时,等待多个slave一起来请求之间的间隔时间。
repl-ping-slave-period/repl-timeout
slave会每隔repl-ping-slave-period(默认10秒)ping一次master,如果超过repl-timeout(默认 60秒)都没有收到响应,就会认为Master挂了。如果Master明明没挂但被阻塞住了也会报这个错。可以适当调大repl-timeout repl-disable-tcp-nodelay
在slave和master同步后(发送psync/sync),后续的同步是否设置成TCP_NODELAY
假如设置成yes,则redis会合并小的TCP包从而节省带宽,但会增加同步延迟(40ms),造成master与slave数据不一致
假如设置成no,则redis master会立即发送同步数据,没有延迟 repl-backlog-size
设置备份的工作储备大小。工作储备是一个缓冲区,当从站断开一段时间的情况时,它替从站接收存储数据,因此当从站重连时,通常不需要完全备份,只需要一个部分同步就可以,即把从站断开时错过的一部分数据接收。
工作储备越大,从站可以断开并稍后执行部分同步的断开时间就越长。
只要有一个从站连接,就会立刻分配一个工作储备。 repl-backlog-ttl
主站有一段时间没有与从站连接,对应的工作储备就会自动释放。接下来这个选项用于配置释放前等待的秒数,秒数从断开的那一刻开始计算。
值为0表示不释放。 slave-priority
适用Sentinel模块(unstable,M-S集群管理和监控),需要额外的配置文件支持。slave的权重值,默认100.当master失效后,Sentinel将会从slave列表中找到权重值最低(>0)的slave,并提升为master。如果权重值为0,表示此slave为"观察者",不参与master选举 min-slaves-to-write
设置redis的min-slaves-to-write参数为1,将保证了至少有一个slave工作良好情况下才允许写入 min-slaves-max-lag
连接最大延迟 requirepass
连接密码 maxclients 设置同一时间最大客户端连接数,默认无限制,Redis可以同时打开的客户端连接数为Redis进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis会关闭新的连接并向客户端返回max number of clients reached错误信息 maxmemory
redis的maxmemory参数用于控制redis可使用的最大内存容量。如果超过maxmemory的值,就会动用淘汰策略来处理expaire字典中的键。 maxmemory-policy
内存不足"时,数据清除策略,默认为"volatile-lru"。 maxmemory-samples
Redis默认的灰选择3个样本进行检测,你可以通过maxmemory-samples进行设置 Appendonly
是一种能够提供非常好的持久化的模式,例如使用默认的Fsync方案,Redis能在发生服务器电源故障或操作系统仍然正常运行但Redis进程莫名挂掉的情况下,只丢失1秒的数据。 appendfsync
含义:Redis将OS数据缓冲区中数据刷新到磁盘的策略
# appendfsync always 只要有新添加的数据就fsync
appendfsync everysec 支持延迟fsync
# appendfsync no 不需要fsync no-appendfsync-on-rewrite
如果该参数设置为no,是最安全的方式,不会丢失数据,但是要忍受阻塞的问题。如果设置为yes呢?这就相当于将appendfsync设置为no,这说明并没有执行磁盘操作,只是写入了缓冲区,因此这样并不会造成阻塞(因为没有竞争磁盘),但是如果这个时候redis挂掉,就会丢失数据。丢失多少数据呢?在Linux的操作系统的默认设置下,最多会丢失30s的数据。 auto-aof-rewrite-percentage
auto-aof-rewrite-percentage 100 (当前写入日志文件的大小超过上一次rewrite之后的文件大小的百分之100时就是2倍时触发Rewrite) auto-aof-rewrite-min-size
指定触发rewrite的aof文件大小。若aof文件小于该值,即使当前文件的增量比例达到auto-aof-rewrite-percentage的配置值,也不会触发自动rewrite。即这两个配置项同时满足时,才会触发rewrite。 aof-load-truncated
指redis在恢复时,会忽略最后一条可能存在问题的指令。默认值yes。即在aof写入时,可能存在指令写错的问题(突然断电,写了一半),这种情况下,yes会log并继续,而no会直接恢复失败. lua-time-limit
Redis提供了lua-time-limit参数限制脚本的最长运行时间,默认为5秒钟。当脚本运行时间超过这一限制后,Redis将开始接受其他命令但不会执行(以确保脚本的原子性,因为此时脚本并没有被终止),而是会返回“BUSY”错误 cluster-node-timeout
cluster-node-timeout(可配置,秒级)时间内没有收到对方的回复,则单方面认为对端节点宕机,将该节点标为PFAIL状态。通过节点之间交换信息收集到quorum个节点都认为这个节点为PFAIL,则将该节点标记为FAIL,并且将其发送给其他所有节点,其他所有节点收到后立即认为该节点宕机。从这里可以看出,主宕机后,至少cluster-node-timeout时间内该主所负责的Slot的读写服务不可用。 cluster-slave-validity-factor
控制从节点FailOver相关的设置
设为0,从节点会一直尝试启动FailOver.
设为正数,失联大于一定时间(factor*节点TimeOut),不再进行FailOver Cluster-migration-barrier
最小从节点连接数 cluster-require-full-coverage
默认为Yes,丢失一定比例Key后(可能Node无法连接或者挂掉),集群停止接受写操作
设置为No,集群丢失Key的情况下仍提供查询服务 slowlog-log-slower-than
其中slowlog-log-slower-than表示slowlog的划定界限,只有query执行时间大于slowlog-log-slower-than的才会定义成慢查询,才会被slowlog进行记录。slowlog-log-slower-than设置的单位是微妙,默认是10000微妙,也就是10ms slowlog-max-len
slowlog-max-len表示慢查询最大的条数,当slowlog超过设定的最大值后,会将最早的slowlog删除,是个FIFO队列 latency-monitor-threshold
服务端内部的延迟监控稍微麻烦一些,因为延迟记录的默认阈值是0。尽管空间和时间耗费很小,Redis为了高性能还是默认关闭了它。所以首先我们要开启它,设置一个合理的阈值 notify-keyspace-events
notify-keyspace-events 带一个由 0 到多个字符组成的字符串参数。空字符串意思是通知被禁用。 hash-max-ziplist-entries
hash类型的数据结构在编码上可以使用ziplist和hashtable。ziplist的特点就是文件存储(以及内存存储)所需的空间较小,在内容较小时,性能和hashtable几乎一样.因此redis对hash类型默认采取ziplist。如果hash中条目的条目个数或者value长度达到阀值,将会被重构为hashtable。
这个参数指的是ziplist中允许存储的最大条目个数,,默认为512,建议为128 hash-max-ziplist-value
ziplist中允许条目value值最大字节数,默认为64,建议为1024 list-max-ziplist-entries
对于list类型,将会采取ziplist,linkedlist两种编码类型。解释同上。 list-max-ziplist-value
对于list类型,将会采取ziplist,linkedlist两种编码类型。解释同上。 set-max-intset-entries
intset中允许保存的最大条目个数,如果达到阀值,intset将会被重构为hashtable zset-max-ziplist-entries
zset-max-ziplist-value
zset为有序集合,有2中编码类型:ziplist,skiplist。因为"排序"将会消耗额外的性能,当zset中数据较多时,将会被重构为skiplist。 hll-sparse-max-bytes activerehashing
每100ms里面使用1ms时间进行rehash。 client-output-buffer-limit
client-output-buffer-limit slave 256mb 64mb 60
这里对是客服端是slave的做限制
256mb 是一个硬性限制,当output-buffer的大小大于256mb之后就会断开连接
64mb 60 是一个软限制,当output-buffer的大小大于64mb并且超过了60秒的时候就会断开连接 hz
Redis server执行后台任务的频率,默认为10,此值越大表示redis对"间歇性task"的执行次数越频繁(次数/秒)。 "间歇性task"包括"过期集合"检测、关闭"空闲超时"的连接等,此值必须大于0且小于500。此值过小就意味着更多的cpu周期消耗,后台task被轮询的次数更频繁。此值过大意味着"内存敏感"性较差。建议采用默认值。 aof-rewrite-incremental-fsync
aof rewrite过程中,是否采取增量文件同步策略,默认为“yes”。 rewrite过程中,每32M数据进行一次文件同步,这样可以减少aof大文件写入对磁盘的操作次数

更多openstack/trove的文章:http://www.cnblogs.com/S-tec-songjian/

此文章属博客园用户S-tec原创作品,受国家《著作权法》保护,未经许可,任何单位及个人不得做营利性使用;若仅做个人学习、交流等非营利性使用,应当指明作者姓名、作品名称,原文地址,并且不得侵犯作者依法享有的其他权利。

openstack trove redis配置项的更多相关文章

  1. openstack trove mongodb配置项

    systemLog.verbosity 组件的默认日志消息详细程度级别. 详细程度级别决定MongoDB输出的信息和调试消息量. 详细级别可以在0到5之间: 0是MongoDB的默认日志详细程度级别, ...

  2. openstack trove,使pylint忽略错误

    一.什么是pylint Pylint 是一个 Python 代码分析工具,它分析 Python 代码中的错误,查找不符合代码风格标准和有潜在问题的代码. Pylint 是一个 Python 工具,除了 ...

  3. openstack trove weekly meeting时间即将更改

    为了平衡英国.巴黎.德国.美国和中国开发者的作息习惯,openstack trove项目组在5月18日的weekly meeting上开始讨论新的开会时间. 当前的开会时间是,周三 UTC 18:00 ...

  4. openstack trove 数据库镜像构建列表

    文件位置:/trove/integration/scripts/files/elements ubuntu@ubuntu:~/Downloads/trove/integration/scripts/f ...

  5. OpenStack和Redis

    前言: 最近开始捣鼓OpenStack了,在用RDO部署OpenStack的时候,发现装了Redis, 遂决定看看OpenStack哪些地方(可以)用到Redis.  Redis作为OpenStack ...

  6. Spring Data Redis配置项有多少(不列举具体,只提供找的方法)

    首先,要说明Spring Data Redis集成了很多款客户端,比如Jedis这些. 而如果在注入Bean时,我们一般是可以设置一些项的,比如hostName和port等,对于这些项一般的查找方式通 ...

  7. OpenStack trove原理及配置实践

    DBaaS是什么? 字面上理解数据库即是服务,简单来说就是以服务的形式为用户提供数据库服务. 在云平台上使用trove有什么优势? 简化IT操作流程,降低使用数据库使用门槛举个例子,曾经我搭建一个LA ...

  8. openstack trove实例状态转换条件--Mitaka版本

    今天研究了一下trove的instance状态转换条件.发现其实设计的挺复杂的.后来思考了一下这样设计的原因.我觉得大致是因为,如果instance的状态全部来自于instance上跑的数据库服务本身 ...

  9. OpenStack Trove组件WSGI和RPC调用流程(参考调用的整个过程)

    参考博文:https://blog.csdn.net/bill_xiang_/article/details/72909927

随机推荐

  1. 变相降价的iPhone,能挽救苹果在中国的命运吗?

    人无千日好,花无百样红.当年iPhone的横空出世不仅开辟了智能手机时代,还间接导致了诺基亚.黑莓等手机品牌的没落.十余年来,苹果凭借iPhone活得风光无限,并成为全球首个市值超万亿美元的公司.但进 ...

  2. C++面试常见问题——13结构体与共用体的sizeof

    结构体与共用体的sizeof 结构体的sizeof 结构体变量占用的内存空间大小通常是其基本类型的大小,但是由例外(字节对齐机制) struct S1{ char c[5]; int a; doubl ...

  3. LOJ #10002. 喷水装置

    题目 裸的贪心. 基本思想见图: Code: #include<iostream> #include<cstdio> #include<cstring> #incl ...

  4. Day6 - K - 陌上花开 HYSBZ - 3262

    有n朵花,每朵花有三个属性:花形(s).颜色(c).气味(m),用三个整数表示. 现在要对每朵花评级,一朵花的级别是它拥有的美丽能超过的花的数量. 定义一朵花A比另一朵花B要美丽,当且仅Sa>= ...

  5. Day5 - B - Wireless Network POJ - 2236

    An earthquake takes place in Southeast Asia. The ACM (Asia Cooperated Medical team) have set up a wi ...

  6. DevOps - 实施原则

    章节 DevOps – 为什么 DevOps – 与传统方式区别 DevOps – 优势 DevOps – 不适用 DevOps – 生命周期 DevOps – 与敏捷方法区别 DevOps – 实施 ...

  7. NIFI

    Apache nifi 第一篇(概述) Apache nifi 第二篇(小白初试) nifi数据对接流程初次尝试 NIFI ExecuteSQL配置教程(1.8) Processor(处理器)之配置 ...

  8. JuJu团队11月30号工作汇报

    JuJu团队11月30号工作汇报 JuJu   Scrum 团队成员 今日工作 剩余任务 困难 于达  提供类似generator的数据产生接口  改进代码  对julia不够熟悉 婷婷  和队友一起 ...

  9. CheckBox标签和属性

    CheckBox的作用:可以提供复选 下面是我点击按钮查看所选内容的代码:定义按钮监听器,并在onClick方法中调用shoeAlt方法(此方法会在第二块代码定义) Button btn=(Butto ...

  10. 重采样Resample 的一些研究记录。

    最近项目有需要重采样算法,先找了一下,主流的就是几个开源算法,Speex / Opus / ffmpeg / sox 1.最早的事Speex,算法源自CCRMA(Center for Computer ...