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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM