请选择 进入手机版 | 继续访问电脑版

Redis配置项说明和系统配置

[复制链接]
三兄弟沙发谢洪江 发表于 2020-12-31 20:26:19 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
一、系统设置

1.1、ulimit

对Linux操纵系统来说,每一个Redis客户端毗连,都会消耗一个文件形貌符,系统默认的open files是1024,而Redis默认设置“maxclients”允许最大10000个客户端毗连,在Redis内部最多会使用32个文件句柄,所以Redis建议将open files的值设置为10032个:
  1. # 暂时设置:# ulimit -Sn 10032
复制代码
1.2、TCP backlog

TCP backlog是已毗连但未举行accept处理惩罚的SOCKET队列巨细。Redis的默认值是511,而Linux系统的默认值只有128:
  1. # 暂时修改:# echo 511 > /proc/sys/net/core/somaxconn # 永久修改:# echo "net.core.somaxconn = 511" >> /etc/sysctl.conf# sysctl -p
复制代码
1.3、overcommit_memory

overcommit_memory是系统的内存分配策略,默认值是0,即在有足够的可用内存时,内存申请通过,否则申请失败。这在低可用内存情况下可能导致BGSAVE或BGREWRITEAOF失败,所以Redis建议将该值设置为1,即允许超量使用内存直到用完为止:
  1. # echo "vm.overcommit_memory = 1" >> /etc/sysctl.conf# sysctl -p
复制代码
1.4、swappiness

当物理内存不敷时,可以暂时使用由硬盘提供的swap分区。对于高吞吐、高并发的Redis来说,磁盘IO将会成为系统瓶颈,所以将swappiness设置为0,纵然OOM killer也不使用swap:
  1. # 暂时设置:# echo 0 > /proc/sys/vm/swappiness# 永久设置:# echo "vm.swappiness = 0" >> /etc/sysctl.conf# sysctl -p
复制代码
1.5、THP

为了给需要得到大量内存的应用步伐快速分配内存,Linux内核增加了THP(大页内存)特性,支持2MB大页内存分配。这将会导致Redis重写期间消耗更多内存,Redis建议禁用此特性:
  1. # 暂时设置:# echo never > /sys/kernel/mm/transparent_hugepage/defrag# echo never > /sys/kernel/mm/transparent_hugepage/enabled
复制代码
二、Redis设置项

2.1、通用设置

设置项说明默认值可选值bindRedis运行绑定的地点127.0.0.1IP地点portRedis监听的TCP端标语。设置为0时,不监听TCP端口63790-65535unixsocket监听的unix套接字空自界说的套接字文件unixsocketperm套接字文件的权限700Linux文件系统可用权限tcp-backlog等候处理惩罚的毗连队列巨细511整数值daemonize是否以守护进程形式在配景运行Redisnoyes/nopidfileRedis运行时进程ID文件/var/run/redis_6379.pid自界说的pid文件loglevel日志级别noticedebug/verbose/notice/warninglogfile日志文件名空,即输出到/dev/null自界说的日志文件名和路径databases可用的数据库数目16整数值dir工作目录,RDB、AOF、日志文件默认放在该目录下./自界说的目录2.2、RDB相关设置

设置项说明默认值可选值saveRDB触发条件save 900 1/save 300 10/save 60 10000900秒内有一次写入,不设置将不触发stop-writes-on-bgsave-errorbgsave过程中发生错误,Redis是否停止吸收写指令yesyes/nordbcompression是否对RDB文件启用压缩yesyes/nordbchecksum是否对RDB文件举行校验yesyes/nodbfilenameRDB文件名称,生存在设置项“dir”指定的目录下dump.rdb建议定名格式dump-{port}.rdb2.3、AOF相关设置

设置项说明默认值可选值appendonly是否启用AOF长期化noyes/noappendfilenameAOF长期化的文件名,生存在设置项“dir”指定的目录下appendonly.aof建议定名为:appendonly-{port}.aofappendfsync数据长期化策略everysec,每秒同步一次always(每次有写指令都同步)/everysec/no(由操纵系统决定)no-appendfsync-on-rewrite在AOF重写时,不做数据长期化操纵noyes/noauto-aof-rewrite-percentage当前AOF文件与上次重写后AOF文件巨细的比值高出100时,触发AOF重写100整数值auto-aof-rewrite-min-size当前AOF文件高出指定巨细时,触发AOF重写64mb字节数aof-load-truncatedRedis启动时,忽略AOF文件不完整的情况yesyes/noaof-use-rdb-preamble在AOF重写时,是否使用RDB文件以加速重写速度yesyes/no2.4、内存相关设置

设置项说明默认值可选值maxmemoryRedis最大可用内存0,不限制字节数maxmemory-policy内存不敷时,数据的删除策略noeviction,不删除数据volatile-lru/allkeys-lru/volatile-lfu/allkeys-lfu/volatile-random/allkeys-random/volatile-ttl/noevictionmaxmemory-samplesLRU采样数5整数值replica-ignore-maxmemoryRedis5版本以后,主从复制模式中,从节点是否忽略“maxmemory”最大内存限制yesyes/no2.5、slowlog相关设置

设置项说明默认值可选值slowlog-log-slower-than慢查询的时间阈值10000,单元微秒整数值slowlog-max-len内存中记载慢查询的队列长度128整数值2.6、主从复制相关设置

设置项说明默认值可选值replicaof指定当前节点作为哪个节点的从节点空replicaof [ip] [port]masterauth主节点的验证暗码空明文暗码replica-serve-stale-data从节点与主节点毗连中断后,从节点是否继续吸收客户端请求yesyes/noreplica-read-only从节点是否为只读模式。在集群模式下,从节点默认读写都不可用,需要手动开启只读yesyes/norepl-ping-replica-period主节点向从节点发送ping消息,判定从节点是否存活的时间隔断,单元是秒10整数值repl-timeout主从复制超时时间,单元是秒60整数值repl-disable-tcp-nodelay主从复制时,是否禁用TCP NODELAY。不禁用时,主节点的数据会立即发送给从节点;禁用时,主节点会将小的TCP包归并再发送给从节点,以节省带宽noyes/norepl-backlog-size复制积存缓冲区巨细1mb字节数repl-backlog-ttl主节点在没有从节点时,释放复制积存缓冲区的时间,单元秒。设置为0时,将永不释放3600整数值replica-priority从节点的优先级。用在哨兵模式下的从节点选举100整数值repl-diskless-sync是否开启无盘复制noyes/norepl-diskless-sync-delay无盘复制时,RDB操纵的延迟时间,单元是秒5整数值min-replicas-to-write0整数值min-replicas-max-lag当主节点发现从节点小于“min-replicas-to-write”个,而且延迟小于10秒时,停止写入操纵10整数值2.7、客户端相关设置

设置项说明默认值可选值timout断开与客户端毗连的空闲时间,单元是秒0(永不绝开)整数值tcp-keepalive发送TCP ACK举行心跳检测的周期,单元是秒300整数值maxclients客户端毗连的最大数量10000整数值2.8、安全相关设置

设置项说明默认值可选值protected-mode当没有通过“bind”绑定地点,而且没有通过“requirepass”设置暗码时,仅允许本地登录yesyes/norequirepass客户端毗连时的验证暗码空明文暗码rename-command将关键下令重定名空rename-command CONFIG “”:将禁用CONFIG下令2.9、集群相关设置

设置项说明默认值可选值cluster-enabled是否在该Redis实例上启用集群功能空yes/nocluster-config-file集群设置文件的名称,在启用集群功能时自动生成,不要手动修改它nodes-6379.confcluster-node-timeout集群节点不可用的最大时间,单元是毫秒。对于一个主节点,如果高出该时间不可用,将被从节点取代15000整数值cluster-slave-validity-factor从节点有效性判定因子。如果设置为0,从节点在任何时候都可以参与故障转移;如果设置为正整数,比方设置为10,如果cluster-node-timeout为5秒,则从节点与主节点失联时间高出50秒时,该节点不参与故障转移10整数值cluster-migration-barrier主从节点切换需要的最小从节点个数1整数值cluster-require-full-coverage如果设置为“yes”(默认值),在槽没有被完全分配时,集群将不吸收写入请求yesyes/nocluster-allow-reads-when-down如果设置为“no”(默认值),当集群中节点被下线或无法毗连到法定主节点时将不会吸收任何请求noyes/no
来源:https://blog.csdn.net/zhen1819/article/details/111874872
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )