版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Redis集群配置参数及优化Redis的主要参数配置在redis.conf文件中。conf 内存值bind ip默认情况下,如果没有指定“bind”配置指令,Redis将侦听服务器上可用 的所有网络接口的连接。默认情况:bind 127.0.0.1实际配置:bind本机ipprotected-mode yes启用默认保护模式。只有当您确定您希望其他主机的客户端连接到Redis 时,您才应该禁用它,即使没有配置身份验证,也没有使用“bind”指令显式 列出特定的接口集。tcp-keepalive 300如果非零,请使用SO_KEEPALIVE向没有通信的客户发送TCP协议。这很有用,有两个原因:
2、a)检测死同伴b)从中间的网络设备的角度进行连接在Linux上,指定的值(以秒为单位)是用于发送ack的周期。注意,要关闭连接,需要双倍的时间。这个选项的合理值是300秒,这是新的Redis默认值,从Redis 3.2.1开始。timeout 0在客户机空闲N秒后关闭连接(0到禁用)port 6379在指定端口上接受连接,默认值是6379daemonize yesredis后台运行pidfile /var/run/redis_6379.pid如果指定了一个pid文件,Redis会在启动时指定,并在退出时删除它。当服务器运行非守护进程时,如果配置中没有指定pid文件,则不会创 建pid文件。当服
3、务器被守护时,即使没有指定,也会使用pid文件,默认为 “/var/run/redis.pid”。创建一个pid文件是最好的工作:如果Redis不能创建它,那么服务器就 会正常启动和运行。loglevel notice指定服务器冗余级别包括:debug:大量信息,用于开发/测试verbose:许多很少有用的信息,但不像debug级别那样混乱notice:适度详细,可能在生产中需要warning:只有非常重要/关键的消息被记录logfile 指定日志文件名。还可以使用空字符串强制Redis登录标准输出。请注 意,如果您使用标准输出来记录日志,但是 daemalize, 日志将被发送到 /dev/
4、nullodatabases 16设置数据库的数量。默认数据库是DB 0 ,您可以使用select在每个连接 上选择一个不同的数据库,其中dbid是一个0和databases之间的数字。always-show-logo yes默认情况下,Redis只显示了 ASCII艺术标志,当开始记录到标准输出 时,如果标准输出是TTY。基本上,这意味着通常只有在交互式会话中才会 显示徽标。但是,可以强制执行4.0的行为,并且在启动日志中始终显示一 个ASCII艺术标识,通过设置下面的选项为yesodbfilename dump.rdb要转储数据库的文件名,存储文件。dir ./工作目录将在这个目录中写入,
5、使用“dbfilename”配置指令指定上面指定的文件名。 只在此目录中创建附加文件。注意,您必须在这里指定一个目录,而不是文件名。slaveof 主从复制。使用slaveof来让一个Redis实例复制另一个Redis服务器。a) Redis复制是异步的;b)如果复制链接在相对较小的时间内丢失,Redis的奴隶可以与主服务 器进行部分的重新同步。c)复制是自动的,不需要用户干预。在网络分区后,奴隶会自动尝试 重新连接主人并与他们重新同步。masterauth 如果 master 是密码保护的(使用下面的“requirepass”配置指令),在启动复制同步进程之前,可以告诉奴隶进行身份验证,否则
6、主人将拒绝奴隶请求。slave-serve-stale-data yes当一个奴隶失去与主人的联系,或当复制仍在进行时,奴隶可以采取两 种不同的方式:a)如果slave-serve-stale-data被设置为“yes”(默认),则该slave仍然会回 复客户端请求,可能是由于过时数据,或者如果这是第一次同步, 数据集可能是空的。b)如果slave-serve-stale-data被设置为不,那么slave将会以“与 master 同步”的错误来回复所有的命令,but to INFO and SLAVEOF。slave-read-only yes注:只读奴隶不被设计成在互联网上接触不可信的客户
7、。它只是一个防止 滥用实例的保护层。在默认情况下仍然只读取奴隶的导出所有的管理命令,例如CONFIG、 DEBUG等等。在一定程度上,您可以通过使用“rename-command”来对所有 的管理/危险命令进行隐藏,从而提高读取的安全性。repl-backlog-size 1mbbacklog是一个缓冲区slave-priority 100它被Redis Sentinel所使用,以便在主人不再正确工作的情况下,选择一 个奴隶来提升为主人。一个低优先级的奴隶被认为是更好的晋升机会,例如,如果有三个优先 级为10、100、25个哨兵的奴隶将选择优先级为10的,这是最低的。然而, 一个特殊的优先级0
8、标志着奴隶不能执行主人的角色,因此,优先级为0的 奴隶将永远不会被Redis Sentinel选中来提升。默认情况下,优先级是100。maxclients 10000设置同时连接客户端的最大数量,默认情况下这个限制设置为10000个 客户,一旦达到限制,Redis将关闭所有新的连接,发送错误的最大客户数。maxmemory 将内存使用限制设置为指定的字节数。如果您有附加的奴隶,建议您为 maxmemory设置一个较低的限制,以便 在系统上有一些空闲RAM用于输出缓冲区(但如果策略是“no驱逐”,则不需 要这样做)。maxmemory-policy noevictionMAXMEMORY策略:当
9、达到MAXMEMORY时,Redis将选择要删除的内容。volatile-lru:在键中使用近似的LRU结束设置。allkeys-lru:使用近似的LRU清除任何键。volatile-lfu:在密钥中使用近似的LFU结束设置。allkeys-lfu:使用近似的LFU清除任何密钥。volatile-random:将一个随机密钥删除,其中有一个过期设置。allkeys-random:删除一个随机密钥,任何密钥。volatile-ttl:删除最近过期时间的键(小TTL)noeviction:不驱逐任何东西,只返回写操作上的错误。注:LRU的意思是最近使用最少,LFU的意思是最不常用,LRU、LFU
10、和挥发性ttl均采用近似随机算法实现。在上面的任何一个策略中,Redis将 返回一个写操作上的错误,当没有合适的键来驱逐时。默认是:maxmemory-policy noevictionmaxmemory-samples 5LRU、LFU和最小TTL算法不是精确的算法,而是近似算法(为了节省 内存),所以你可以对它进行调优,以达到速度或精度。对于默认的Redis将 检查5个键并选择最近使用较少的键,您可以使用下面的配置指令来更改示 例的大小。注:默认的5产生足够好的结果。十分接近真实的LRU,但成本更大。 3更快,但不太准确。appendonly yes只追加模式aof日志开启有需要就开启,它
11、会每次写操作都记录一条日志默认情况下,Redis会异步地转储磁盘上的数据集。这种模式在许多应用 程序中都很好,但是对于Redis进程或断电可能会导致几分钟的写入丢失(取 决于配置的保存点)。Append文件是一种替代持久性模式,它提供了更好的持久性。AOF和RDB持久性可以同时启用,没有问题。如果在启动Redis上启用了 AOF,则会加载AOF,这是具有更好的耐久 性保证的文件。appendfilename appendonly.aofappendfsync everysecfsync()调用告诉操作系统在磁盘上实际写入数据,而不是等待输出缓冲 区中的更多数据。有些操作系统会在磁盘上刷新数据,
12、有些操作系统会尽快处理。Redis支持三种不同的模式:口。:不要fsync,只需让操作系统在需要的时候刷新数据。Fasteralways:fsync每次写完后只添加日志。 Slow, Safesteverysec:fsync 每秒钟一次。Compromise默认的是“everysec”,因为这通常是速度和数据安全之间的正确折衷。由 你理解如果你能放松这个“不”字,让操作系统刷新输出缓冲区时,为了更好的 表现(但是如果你可以忍受一些数据丢失的想法考虑默认快照的持久性模式), 或相反,使用“always”非常缓慢但比” everysec”更安全一点。如果不确定,就用“everysec”ono-ap
13、pendfsync-on-rewrite no如果您有延迟问题,请将其转换为yes。否则,从持久性的角度来看, 设置为no是最安全的选择。auto-aof-rewrite-percentage 100auto-aof-rewrite-min-size 64 mb自动重写附加文件Redis能够自动地重写日志文件,当AOF日志大小以指定的百分比增长 时,隐式地调用BGREWRITEAOFo工作方式:Redis记得在最近一次重写后的AOF文件的大小(如果在重启 后没有重写,那么在启动时AOF的大小就会被使用)。此基础大小与当前大小比较。如果当前的大小大于指定的百分比,则会 触发重写。您还需要为AOF
14、文件指定一个最小的大小来重写,这对于避免重 写AOF文件是很有用的,即使增加了百分比,但是它仍然很小。指定一个百分比为零,以禁用自动的重写功能。aof-load-truncated yes在Redis启动过程中,当AOF数据被加载回内存时,可能会发现AOF 文件被截断。如果将aof-load-truncated设置为yes,将加载一个被截断的AOF文件, 而Redis服务器将开始发出日志以通知用户该事件。否则,如果选项被设置 为no,服务器会以错误中止并拒绝启动。当选项设置为no时,用户需要在 重新启动服务器之前使用“redis-checkaof”工具修复AOF文件。注意,如果在中间发现AOF
15、文件被损坏,服务器仍然会以错误退出。此 选项只适用于Redis将尝试从AOF文件读取更多数据,但不会找到足够的字 节。cluster-enabled yes开启集群cluster-config-file nodes-6379.conf每个集群节点都有一个集群配置文件。它是由Redis节点自动创建和更 新的。每个Redis集群节点都需要一个不同的集群配置文件。注:确保在同一系统中运行的实例没有重叠的集群配置文件名。集群的 配置,配置文件首次启动自动生成。cluster-node-timeout 5000群集节点超时是指节点在失败状态下必须不可到达的毫秒数。大多数其 他内部时间限制是节点超时的倍数
16、。注:请求超时,设置5秒够了。cluster-require-full-coverage yes默认情况下,Redis集群节点如果检测到至少有一个散列槽(没有可用的 节点正在服务),就会停止接受查询。这样,如果集群部分宕机(例如,不再 覆盖散列槽的范围),那么所有集群最终都将不可用。当所有的插槽再次被覆 盖时,它会自动返回。但是,有时您希望集群的子集继续工作,继续接受仍然覆盖的关键空间 部分的查询。为了做到这一点,只需将cluster-require-full-coverage选项设置 为no。slowlog-log-slower-than 10000“Redis慢速日志”是一个记录超过指定执
17、行时间的查询的系统。执行时间 不包括I/O操作,比如与客户端,发送应答等等,但就实际执行命令所需的时间 (这是唯一阶段命令执行的线程被阻塞,不能同时处理其他请求)。您可以使用两个参数来配置慢速日志:一个告诉Redis,在微秒内,执行 时间超过了命令的执行时间,另一个参数是慢日志的长度(第18条)。当新命 令被记录时,最老的命令将从已记录的命令队列中删除。单位:微秒slowlog-max-len 128这个长度没有限制。只要意识到它会消耗内存。可以回收利用慢速日志 重置的慢速日志。latency-monitor-threshold 0Redis延迟监控子系统在运行时对不同的操作进行采样,以便收集
18、与 Redis实例可能的延迟来源相关的数据。通过延迟命令,用户可以使用这些信息来打印图表并获取报告。该系统只记录在一个时间内执行的操作,该操作的时间等于或大于通过延迟监控阈值配置指令所指定的毫秒数。当它的值设置为0时,延迟监视器 就关闭了。默认情况下,延迟监视是禁用的,因为如果您没有延迟问题,并且收集 数据具有性能影响,那么在很大的负载下可以度量数据的性能影响。在运行 时,如果需要,可以很容易地使用命令CONFIG SET latency-monitor-threshold 来启用延迟监视。hash-max-ziplist-entries 512hash-max-ziplist-value 6
19、4Hashes使用内存有效的数据结构进行编码,当它们有少量的条目时,最 大的条目不超过给定的阈值。可以使用以下指令来配置这些阈值。list-max-ziplist-size -2列表也以一种特殊的方式编码,以节省大量空间。每个内部列表节点允 许的条目数可以指定为固定的最大大小或元素的最大数量。对于固定的最大 尺寸,使用-5到-1,意思是:5:最大大小:64kb -不推荐用于正常工作负载4:最大尺寸:32kb -不推荐3:最大尺寸:16kb -可能不推荐2:最大尺寸:8kb -很好1:最大尺寸:4 Kb -很好正数意味着存储到每个列表节点上的元素数量。最高执行选项通常是-2 (8kb大小)或-1
20、 (4 Kb大小),但如果您的用例是惟 一的,则根据需要调整设置。list-compress-depth 0列表也可能被压缩压缩深度是列表的每个边的quicklist ziplist节点的数量,以排除压缩。 列表的头和尾总是为快速的push/pop操作而没有压缩。设置:0:禁用所有列表压缩。1:depth 1的意思是“在1个节点进入列表后,从头部或尾部开始压缩”So: head-node-node-node-tail,head, tail将始终未压缩;内 部节点将压缩。2:head-next-node-node-node-prev-tail2在这里的意思是:不要压缩head或head-next
21、或tail-prev或tail,而是 压缩它们之间的所有节点。3: head-next-next-node-node-.-node-prev-prev-tailset-max-intset-entries 512集合有一个特殊的编码:当一个集合由刚好是在64位有符号整数范围内 的基数10中的整数组成。此配置设置设置了大小的限制。zset-max-ziplist-entries 128zset-max-ziplist-value 64与散列和列表类似,排序集也是经过特殊编码的,以节省大量空间。注:此编码仅当排序集的长度和元素低于以下限制时使用。hll-sparse-max-bytes 3000H
22、yperLogLog稀疏表示字节限制。这个限制包括16个字节的标题。当使 用稀疏表示的超loglog跨越这个限制时,它被转换为稠密表示。注:一个大于16000的值是完全无用的,因为在那个点上,稠密表示的 内存更有效。建议值为3000,以便在不减速的情况下获得空间有效编码的好处,而 PFADD是O(N),编码稀疏。当CPU不受关注时,可将值提高到10000,但 是空间、数据集由许多具有基数在0 - 15000范围内的超loglog组成。activerehashing yesActive rehashing每100毫秒使用1毫秒的CPU时间来帮助重散主Redis 哈希表(一个映射到值的顶级键)。默
23、认情况下,每秒钟使用这个毫秒为10次,以便主动地对主字典进行重 新处理,在可能的情况下释放内存。使用“activerehashing no,如果您有很强的延迟需求,并且在您的环境中, Redis可以不时地以2毫秒的延迟来答复查询,这不是一件好事。使用“activerehashing yes”如果您没有这样的硬性要求,但希望在可能的 情况下尽快释放内存。client-output-buffer-limit normal 0 0 0client-output-buffer-limit slave 256mb 64mb 60client-output-buffer-limit pubsub 32mb
24、 8mb 60客户端输出缓冲区的限制可以用来强迫那些由于某些原因而不能快速读 取服务器数据的客户断开连接(一个常见的原因是,Pub/Sub客户端不能像发 布服务器那样快速地使用消息)。对于三种不同类型的客户,可以设置不同的限制:normal:normal clients包括监控客户端slave : slave clientspubsub :客户端订阅了至少一个pubsub通道或模式每个client-output-buffer-limit指令的语法如下:client-output-buffer-limit 当达到硬限值时,客户端会立即断开连接,或者如果达到了软限制,并 且持续达到指定的秒数(持续
25、)。例如如果硬限制是32字节和软限制是16 mb / 10秒,客户端会立即断开输 出缓冲区的大小达到32字节,但也会断开如果客户达到16字节,不断克服了限 制10秒钟。默认情况下,正常的客户机不受限制,因为它们不会在没有请求的情况 下接收数据(按push方式),但是在请求之后,所以只有异步客户机可能会创 建一个场景,在这个场景中,请求数据的速度比读取的速度要快。相反,对 于pubsub和从客户端来说,这是一个默认的限制,因为订阅者和奴隶会以推 送的方式接收数据。无论是强的还是弱的限制都可以通过设置为零来禁用。hz 10Redis调用一个内部函数来执行许多后台任务 比如超时关闭客户机连接、 清除未请求的过期键等。不是所有的任务都以相同的频率执行,但是Redis 检查任务是否按照指定的“hz”值执行。默认的“hz”设置为10。当Redis空闲时,提高该值将使用更多的CPU, 但同时,当有许多键同时到期时,将使Redis更加敏感,并且可以更精确地 处理超时。注:这个范围在1到500之间,但是超过100通常不是一个好主意。大 多数用户应该使用默认的10,并且只在需要非常低延迟的环境中提高到100。aof-rewrite-incremental-fsync yes当一个child重新编写AOF文件时,如果启用了该选项,那么这个文件 将被
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026湖南长沙市雨花区数据局招聘1人考试参考题库及答案解析
- 2026天津中德应用技术大学招聘辅导员、其他专业技术岗位5人考试参考试题及答案解析
- 县失业保险内部控制制度
- 企业内部事故防范制度
- 库存商品内部控制制度
- 企业内部发文制度规定
- 新零售峰会内部统筹制度
- 医共体内部考核制度
- 企业内部数据化管理制度
- 企业内部传帮带激励制度
- 2026年阜新高等专科学校单招职业技能测试题库必考题
- 2026马年春节开学第一课课件:用英语讲述我的中国年
- 2026年南京机电职业技术学院单招职业适应性测试题库附答案解析
- 2026 年工贸企业春节后生产线复工复产实施方案
- 2026北森测评试题及答案
- 2026年安全员之B证(项目负责人)题库及答案
- 2026年国家电网企业文化知识考试题目含答案
- 企业标准操作程序(SOP)手册
- 隔音板安装施工方案
- 电力行业设备管理维护规范
- 复工复产工贸安全培训课件
评论
0/150
提交评论