您好,登錄后才能下訂單哦!
redis性能怎么優化?相信很多新手小白對redis性能優化的了解處于懵懂狀態,小編給你幾點建議,通過幾點建議,希望你能收獲更多。如下資料是關于redis性能優化的內容。
一、 Redis部署結構優化建議
1. Master不做AOF或RDB持久化,Slave做AOF持久化,建議同時做RDB持久化
2. 所有Master全部增加Slave
3. Master掛載Slave不超過2個,采用M-S-S方式掛載。若想保證高可用,即主從切換,可采用Keepalived機制.
備注:以上是基于Redis部署結構不合理提出的建議,同時也參考了新浪微博、淘寶架構中Redis優化方案給出
二、 Redis配置優化建議
1.tcp-keepalive 60
阻止由于某個command執行過長達到timeout超時時間而被斷開連接,且可以提高連接錯誤的檢測.
2.stop-writes-on-bgsave-error no
當bgsave快照操作出錯時停止寫數據到磁盤,這樣后面寫操作均會失敗,為了不影響后續寫操作,故需將該項值改為no.
3.rdbchecksum no
檢查RDB數據的正確性,會犧牲10%的性能,故建議關閉.
4.auto-aof-rotate-max-size 20gb
auto-aof-rotate-max-total 4 auto-aof-rewrite-percentage 0 (關閉rewrite模式)
將AOF rewrite模式改為rotate模式,即將AOF在線實時Rewrite的功能,切換到線下操作,1份AOF文件切割成多份(類似日志切割),這樣提升了redis性能的同時提升內存的利用率.
5.no-appendfsync-on-rewrite yes
避免新修改數據刷磁盤時出現IO阻塞
備注:以上是基于Redis配置不合理提出的優化建議
三、 系統內核配置優化建議
1.開啟了AOF模式,為了緩解IO阻塞
編輯/etc/sysctl.conf ,添加如下配置:
vm.dirty_background_ratio = 5 vm.dirty_ratio = 10
然后sysctl -p 使配置文件生效.
2.開啟了RDB模式,為了避免Fork失敗
編輯/etc/sysctl.conf ,改vm.overcommit_memory=1,
然后sysctl -p 使配置文件生效
備注:以上是基于測試結果給出的系統內核優化建議
后續計劃:
以上是從架構角度提出的優化建議,后續會從業務角度,分析內存類型是否合理、冷熱數據劃分是否合理等
備注:
關于冷熱數據劃分,可使用如下Redis命令進行統計分析:
OBJECT REFCOUNT 該命令主要用于調試(debugging),它能夠返回指定key所對應value被引用的次數.
OBJECT ENCODING 該命令返回指定key對應value所使用的內部表示(representation)(譯者注:也可以理解為數據的壓縮方式).
OBJECT IDLETIME 該命令返回指定key對應的value自被存儲之后空閑的時間,以秒為單位(沒有讀寫操作的請求) ,這個值返回以10秒為單位的秒級別時間,這一點可能在以后的實現中改善。
以上就是redis性能優化的方法介紹,詳細使用情況還得要大家自己使用過才能知道具體要領。如果想閱讀更多相關內容的文章,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。