• redis-cluster 性能调优


    • 关闭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
    
    定位问题原因* 根据原因思考问题解决方案* 实践验证方案有效性* 提交验证结果
  • 相关阅读:
    听说在新的一年里你的证书过期了
    css 清楚浮动的8种方式
    Majority Element:主元素
    HDOJ 5296 Annoying problem LCA+数据结构
    hdu 5318 The Goddess Of The Moon 矩阵高速幂
    友盟页面统计
    用html语言写一个功课表
    苹果新的编程语言 Swift 语言进阶(二)--基本数据类型
    Atitit.mssql 数据库表记录数and 表体积大小统计
    jeecms 代码生成 Tools
  • 原文地址:https://www.cnblogs.com/jimoliunian/p/13891181.html
Copyright © 2020-2023  润新知