Redis Cluster集群性能調(diào)優(yōu)
-
- 首先需要查看redie的基線性能,以及最大延遲
- ./redis-cli --intrinsic-latency 120
- 從 2.8.7 版本開始,redis-cli 命令提供了–intrinsic-latency 選項,可以用來監(jiān)測和統(tǒng)計測試期間內(nèi)的最大延遲,這個延遲可以作為 Redis 的基線性能。其中,測試時長可以用–intrinsic-latency 選項的參數(shù)來指定。(一般120s的檢測就可以看出來了)
- 關(guān)閉RDB防止fork進程的內(nèi)存溢出問題
save ""
appendonly=yes
- 防止某個節(jié)點掛掉,整個cluster掛掉的問題
cluster-require-full-coverage no
- 設(shè)置最大內(nèi)存
maxmemory
11453246122
- 4 日志
logfile "./redis.log"
- 5 防止因為磁盤同步,卡掉住進程的情況出現(xiàn)
no-appendfsync-on-rewrite yes
- 6 內(nèi)核修改,如果沒開防火墻可以不設(shè)置這個
net.nf_conntrack_max = 1648576
- 這個用來防止內(nèi)存申請不到發(fā)生卡死的情況,很重要
vm.overcommit_memory = 1
有三種方式修改內(nèi)核參數(shù),但要有root權(quán)限:
編輯/etc/sysctl.conf ,改vm.overcommit_memory = 1,然后sysctl -p 使配置文件生效
sysctl vm.overcommit_memory = 1
echo 1 > /proc/sys/vm/overcommit_memory
建議使用方法1。
- 最大連接數(shù)要改一下,redis的warning會要求修改
net.core.somaxconn = 1024
編輯/etc/sysctl.conf ,增加 net.core.somaxconn= 1024,然后sysctl -p 使配置文件生效
- 設(shè)置內(nèi)存超出策略
默認沒有設(shè)置
allkeys-lru BGREWRITEAOF 這個命令可以重寫aof,因為aof長時間增量更新,導致越來越大,但是內(nèi)存可能沒這么大,所以可以用這個命令重寫進行復制備份,恢復等
內(nèi)存吃緊的時候可以嘗試手動去掉內(nèi)存碎片
config set activedefrag yes
memory purge
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。