- 关闭RDB防止fork进程的内存溢出问题
save ""
appendonly=yes
- 防止某个节点挂掉,整个cluster挂掉的问题
cluster-require-full-coverage no
- 设置最大内存
maxmemory
11453246122
- 日志
logfile "./redis.log"
- 防止因为磁盘同步,卡掉住进程的情况出现
no-appendfsync-on-rewrite yes
- 内核修改,如果没开防火墙可以不设置这个
net.nf_conntrack_max = 1648576
- 这个用来防止内存申请不到发生卡死的情况,很重要
vm.overcommit_memory=1
有三种方式修改内核参数,但要有root权限:
(1)编辑/etc/sysctl.conf ,改vm.overcommit_memory=1,然后sysctl -p 使配置文件生效
(2)sysctl vm.overcommit_memory=1
(3)echo 1 > /proc/sys/vm/overcommit_memory
建议使用方法 1
- thp redis warning要求关掉
echo never > /sys/kernel/mm/transparent_hugepage/enabled
同时写入rc.local,保证下次重启生效
- 最大连接数要改一下,redis的warning会要求修改
net.core.somaxconn= 1024
编辑/etc/sysctl.conf ,增加 net.core.somaxconn= 1024,然后sysctl -p 使配置文件生效
- 设置内存超出策略
默认没有设置
allkeys-lru
-
BGREWRITEAOF 这个命令可以重写aof,因为aof长时间增量更新,导致越来越大,但是内存可能没这么大,所以可以用这个命令重写进行复制备份,恢复等
-
内存吃紧的时候可以尝试手动去掉内存碎片
config set activedefrag yes
memory purge
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:redis-cluster 性能调优 - Python技术站