redis-cluster 性能调优

redis-cluster


1、关闭RDB防止fork进程的内存溢出问题

save ""

appendonly=yes

2、防止某个节点挂掉,整个cluster挂掉的问题

cluster-require-full-coverage no

3、设置最大内存

maxmemory 

11453246122


4、日志

logfile "./redis.log"

5、防止因为磁盘同步,卡掉住进程的情况出现

no-appendfsync-on-rewrite yes


6、内核修改,如果没开防火墙可以不设置这个

net.nf_conntrack_max = 1648576


7、这个用来防止内存申请不到发生卡死的情况,很重要

vm.overcommit_memory=1

有三种方式修改内核参数,但要有root权限:

   1)编辑/etc/sysctl.conf ,改vm.overcommit_memory=1,然后sysctl -p 使配置文件生效

  2sysctl vm.overcommit_memory=1

  3echo 1 > /proc/sys/vm/overcommit_memory

建议使用方法 1 


8、thp redis warning要求关掉 

echo never > /sys/kernel/mm/transparent_hugepage/enabled

同时写入rc.local,保证下次重启生效


9、最大连接数要改一下,redis的warning会要求修改

net.core.somaxconn= 1024

编辑/etc/sysctl.conf ,增加 net.core.somaxconn= 1024,然后sysctl -p 使配置文件生效


10、设置内存超出策略

默认没有设置 

allkeys-lru


11、BGREWRITEAOF 这个命令可以重写aof,因为aof长时间增量更新,导致越来越大,但是内存可能没这么大,所以可以用这个命令重写进行复制备份,恢复等


12、内存吃紧的时候可以尝试手动去掉内存碎片

 config set activedefrag yes

 memory purge

你可能感兴趣的:(细节研究,web架构)