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 使配置檔案生效
(2)sysctl vm.overcommit_memory=1
(3)echo 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