Redis Cluster集群性能调优
-
- 首先需要查看redie的基线性能,以及最大延迟
- ./redis-cli --intrinsic-latency 120
- 从 2.8.7 版本开始,redis-cli 命令提供了–intrinsic-latency 选项,可以用来监测和统计测试期间内的最大延迟,这个延迟可以作为 Redis 的基线性能。其中,测试时长可以用–intrinsic-latency 选项的参数来指定。(一般120s的检测就可以看出来了)
- 关闭RDB防止fork进程的内存溢出问题
save ""
appendonly=yes
- 防止某个节点挂掉,整个cluster挂掉的问题
cluster-require-full-coverage no
- 设置最大内存
maxmemory
11453246122
- 4 日志
logfile "./redis.log"
- 5 防止因为磁盘同步,卡掉住进程的情况出现
no-appendfsync-on-rewrite yes
- 6 内核修改,如果没开防火墙可以不设置这个
net.nf_conntrack_max = 1648576
- 这个用来防止内存申请不到发生卡死的情况,很重要
vm.overcommit_memory = 1
有三种方式修改内核参数,但要有root权限:
编辑/etc/sysctl.conf ,改vm.overcommit_memory = 1,然后sysctl -p 使配置文件生效
sysctl vm.overcommit_memory = 1
echo 1 > /proc/sys/vm/overcommit_memory
建议使用方法1。
- 最大连接数要改一下,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
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。