L33
1.fork耗時致使高併發請求延時:
info stats 參數 last_fork_usec 最近一次fork時長
優化:fork耗時跟redis主進程的內存有關係,通常控制redis內存在10G之內
2.AOF阻塞問題
fsync 超過2秒,寫請求就會阻塞防止主從offset誤差太大致使數據丟失
優化:優化硬盤寫入速度
3.主從複製延遲問題
info replication 查詢master的offset和slave的offset.可是也有slave的大於master的,這種狀況須要其餘解決思路
優化:須要腳本進行監控報警
4.主從複製風暴
一旦多個slave掛載master 同時進行全量複製,會致使大量帶寬被佔用
優化:使用樹狀掛載
5.Linux內核優化 提升redis
1) vm.overcommit_memory
0: 檢查有沒有足夠內存,沒有的話申請內存失敗
1: 容許使用內存直到用完爲止
2: 內存地址空間不能超過swap + 50%
若是是0的話,可能致使相似fork等操做執行失敗,申請不到足夠的內存空間
cat /proc/sys/vm/overcommit_memory
echo "vm.overcommit_memory=1" >> /etc/sysctl.conf
sysctl vm.overcommit_memory=1linux
2) swapiness cat /proc/version,查看linux內核版本 若是linux內核版本<3.5,那麼swapiness設置爲0,這樣系統寧願swap也不會oom killer(殺掉進程) 若是linux內核版本>=3.5,那麼swapiness設置爲1,這樣系統寧願swap也不會oom killer echo 0 > /proc/sys/vm/swappiness echo vm.swapiness=0 >> /etc/sysctl.conf 3) 最大打開文件句柄 ulimit -n 10032 10032 4) tcp backlog cat /proc/sys/net/core/somaxconn echo 511 > /proc/sys/net/core/somaxconn