1.同步操作
記憶體頁的拷貝,本身速度非常快,不會阻塞主線程
2.與記憶體量有關:記憶體越大,耗時越長
3.info:latest_fork_usec #fork fork的執行時間
4.改善fork
1).有限使用物理機或者高效支援fork操作的虛擬化技術
2).控制redis 例項最大可用記憶體
:maxmemory
3)合理配置linux記憶體分配策略
:vm.overcommit_memory=1
4).降低fork 頻率:例如放寬aof重寫自動觸發時機,不必要的全量複製
1.cpu
開銷:rdb和aof 檔案生成,屬於cpu密集型
優化:不做cpu繫結,不和cpu 密集型部署
2.記憶體
開銷:fork 記憶體開銷,共享父程序快照
優化:避免單機多部署的大量重寫
3.硬碟
開銷:aof 和rdb檔案寫入,可以結合iostat,iotop分析
硬碟優化:
不要和高硬碟負載服務部署在一起:儲存服務,訊息佇列
根據寫入量覺定磁碟型別:例如ssd
單機多例項持久化檔案目錄可以考慮分盤
主線程負責寫入aof快取區,同步執行緒負責沒秒刷盤操作對比上次aof同步時間。如果大於2s 阻塞,直到同步完成
小於2s,通過。
Redis 開發運維問題 持久化
1.同步操作 記憶體頁的拷貝,本身速度非常快,不會阻塞主線程 2.與記憶體量有關 記憶體越大,耗時越長 3.info latest fork usec fork 所需時間 4.改善fork 1 有限使用物理機 2 控制redis 例項最大可用記憶體 3 linux記憶體分配策略 4 降低fork 頻...
Redis 學習(八) 開發運維的「陷阱」
本篇文章來講一講開發運維中的 陷阱 thpoom killer ntp 同步不同節點的時間 ulimit 單個使用者同時開啟的檔案數 tcp backlog 以持久化檔案作為恢復資料的媒介。rdb 變化 從節點變化 和主節點沒有區別 筆者曾經就被攻擊過,心塞 具體攻擊的細節可以問度娘,這裡不贅述。下...
Redis開發運維實踐問題處理只延遲檢查
mpstat p all 1可以在系統不繁忙或者臨時下線前檢測客戶端和server或者proxy 的頻寬 1 使用 iperf s 命令將 iperf 啟動為 server 模式 iperf s server listening on tcp port 5001 tcp window size 8....