1. 程式人生 > 實用技巧 >redis持久化時導致系統負載陡增陡降

redis持久化時導致系統負載陡增陡降

>>> hot3.png

最近一段時間在將公司內部的cache層抽離,使用redis來做快取。將叢集搭建後跑起來發現系統負載出現陡增陡降的現象。而機器的執行的各項指數也較為正常。後來發現redis配置使用了部分預設配置。 auto-aof-rewrite-percentage 選項為100%。aof基準大小是486mb。這樣一次持久化就會很長的週期大約2小時。導致負載上升。

其次有一個重要的選項,如何將aof的資料寫到磁碟上。appendfsync 系統預設為everysec。目的是為了在可靠性和效能間取得平衡,而由於我們是將redis作為cache使用,能夠容許在redis掛掉時丟掉一部分資料。則將該選項設定為no,以期待最高的效能。

未改變前機器負載


改變後機器負載:



----------

後續上了對查詢時間較為敏感的業務後,發現不斷地rewrite aof 時會在rewrite的瞬間造成查詢時間變長。

於是索性關掉redis的aof自動rewrite功能。將rewrite用定時任務來做。

這樣最大的損失也僅僅是redis掛掉後重啟時間久點而已。而redis從叢集搭建到現在還沒有出現個掛掉的情況。

後來前端的查詢就較為穩定了。當然不可避免的仍然是在rewrite時的查詢時延。



轉載於:https://my.oschina.net/qingwa/blog/107989