精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

面試中經常被問到的Redis持久化與恢復,該如何解決?

存儲 存儲軟件 Redis
本文主要講了 Redis 的持久化相關功能,持久化一直是影響 Redis 性能的高發地,也是面試中經常被問到的。

一、前言

本文主要講了 Redis 的持久化相關功能,持久化一直是影響 Redis 性能的高發地,也是面試中經常被問到的。

包括 RDB 相關的特定和優缺點,AOF 的優缺點,事實上,由于 RDB 的數據實時性問題,目前用 AOF 比較多了,而持久化恢復也是優先 AOF。

RDB 是舊的模式,現在基本上都使用 AOF,當然,今天兩個都會一起聊聊。

二、 RDB

RDB 流程圖:

RDB 特點:

1、RDB 是一種快照模式,即——保存的是 key value 數據內容。

2、RDB 有 2 種持久方式,同步 save 模式和異步 bgsave 模式。由于 save 是同步的,所以可以保證數據一致性,而 bgsave 則不能。

3、save 可以在客戶端顯式觸發,也可以在 shutdown 時自動觸發;bgsave 可以在客戶端顯式觸發,也可以通過配置由定時任務觸發,也可以在 slave 節點觸發。

4、save 導致 redis 同步阻塞,基本已經廢棄。bgsave 則不會導致阻塞,但也有缺點:在 fork 時,需要增加內存服務器開銷,因為當內存不夠時,將使用虛擬內存,導致阻塞 Redis 運行。所以,需要保證空閑內存足夠。

5、默認執行 shutdown 時,如果沒有開啟 AOF,則自動執行 bgsave。

6、每次的 RDB 文件都是替換的。

關于優化:

Redis 會壓縮 RDB 文件,使用 LZF 算法,讓最終的 RDB 文件遠小于內存大小,默認開啟。但會消耗 CPU。

RDB 缺點:

1、無法秒級持久化。

2、老版本 Redis 無法兼容新版本 RDB。

RDB 優點:

1、文件緊湊,適合備份,全量復制場景。例如每 6 小時執行 bgsave,保存到文件系統之類的。

2、Redis 加載 RDB 恢復數據遠遠快于 AOF。

三、 AOF

由于 RDB 的數據實時性問題,AOF(append only file) 是目前 Redis 持久化的主流方式。

AOF 特點:

1、默認文件名是 appendonly.aof。和 RDB 一樣,保存在配置中 dir 目錄下。

2、AOF 相比較于 RDB,每次都會保存寫命令,數據實時性更高。

3、AOF 由于每次都會記錄寫命令,文件會很大,因此需要進行優化,稱之為“重寫機制”(下面詳細說)。

4、AOF 每次保存的寫命令都放在一個緩沖區,根據不同的策略(下面詳細說)同步到磁盤。

“重寫機制” 細節:

1、fork 子進程(類似 bgsave)

2、主進程會寫到2個緩沖區,一個是原有的 “AOF 緩存區”,一個是專門為子進程準備的 “AOF 重寫緩沖區”;

3、子進程寫到到新的 AOF 文件中,批量的,默認 32m;寫完后通知主進程。

4、主進程把“AOF 重寫緩沖區”的數據寫到新 AOF 文件中。

5、將新的 AOF 文件替換老文件。

重寫流程圖:

緩沖區同步策略,由參數 appendfsync 控制,一共3種:

1、always:調用系統 fsync 函數,直到同步到硬盤返回; 嚴重影響redis性能。

2、everysec:先調用 OS write 函數, 寫到緩沖區,然后 redis 每秒執行一次 OS fsync 函數。 推薦使用這種方式。

3、no: 只執行 write OS 函數,具體同步硬盤策略由 OS 決定; 不推薦,數據不安全,容易丟失數據。

四、持久化恢復

AOF 和 RDB 文件都可以用于服務器重啟時的數據恢復,具體流程如下圖:

從圖中可以看出優先加載 AOF,當沒有 AOF 時才加載 RDB。當 AOF 或者 RDB 存在錯誤,則加載失敗。

五、問題排查和性能優化

Redis 持久化是影響 Redis 性能的高發地,也是面試中常問的問題。

1. fork 操作

當 Redis 做 RDB 或者 AOF 重寫時,必然要進行 fork 操作,對于 OS 來說,fork 都是一個重量級操作。而且,fork 還會拷貝一些數據,雖然不會拷貝主進程所有的物理空間,但會復制主進程的空間內存頁表。對于 10GB 的 Redis 進程,需要復制大約 20MB 的內存頁表,因此 fork 操作耗時跟進程總內存量息息相關,再加上,如果使用虛擬化技術,例如 Xen 虛擬機,fork 會更加耗時。

一個正常的 fork 耗時大概在 20毫秒左右。為什么呢,假設一個 Redis 實例的 OPS 在 5 萬以上,如果 fork 操作耗時在秒級,那么僵拖慢幾萬條命令的執行,對生產環境影響明顯。

我們可以在 Info stats 統計中查詢 latestforkusec 指標獲取最近一次 fork 操作耗時,單位微秒。

如何優化:

1、優先使用物理機或者高效支持 fork 的虛擬化技術,避免使用 Xen。

2、控制 redis 實例***內存,盡量控制在 10GB 以內。

3、合理配置 Linux 內存分配策略,避免內存不足導致 fork 失敗。

4、降低 fork 的頻率,如適度放寬 AOF 自動觸發時機,避免不必要的全量復制。

2. 子進程開銷

fork 完畢之后,會創建子進程,子進程負責 RDB 或者 AOF 重寫,這部分過程主要涉及到 CPU,內存,硬盤三個地方的優化。

1、CPU 寫入文件的過程是 CPU 密集的過程,通常子進程對單核 CPU 利用率接近 90%。 如何優化呢?既然是 CPU 密集型操作,就不要綁定單核 CPU,因為這樣會和父 CPU 進行競爭。同時,不要和其他 CPU 密集型服務不是在一個機器上。如果部署了多個 Redis 實例,盡力保證統一時刻只有一個子進程執行重寫工作。

2、內存 子進程通過 fork 操作產生,占用內存大小等同于父進程,理論上需要兩倍的內存完成持久化操作,但 Linux 有 copy on write 機制,父子進程會共享相同的物理內存頁,當父進程處理寫操作時,會把要修改的頁創建對應的副本,而子進程在 fork 操作過程中,共享整個父進程內存快照。 即——如果重寫過程中存在內存修改操作,父進程負責創建所修改內存頁的副本。這里就是內存消耗的地方。 如何優化呢?盡量保證同一時刻只有一個子進程在工作;避免大量寫入時做重寫操作。

3、硬盤 硬盤開銷分析:子進程主要職責是將 RDB 或者 AOF 文件寫入硬盤進行持久化,勢必對硬盤造成壓力,可通過工具例如 iostat,iotop 等,分析硬盤負載情況。

如何優化:

1、不要和其他高硬盤負載的服務放在一臺機器上,例如 MQ,存儲。

2、AOF 重寫時會消耗大量硬盤 IO,可以開啟配置 no-appendfsync-on-rewrite,默認關閉。表示在 AOF 重寫期間不做 fsync 操作。

3、當開啟 AOF 的 Redis 在高并發場景下,如果使用普通機械硬盤,每秒的寫速率是 100MB左右,這時,Redis 的性能瓶頸在硬盤上,建議使用 SSD。

4、對于單機配置多個 Redis 實例的情況,可以配置不同實例分盤存儲 AOF 文件,分攤硬盤壓力。

3. AOF 追加阻塞

當開啟 AOF 持久化時,常用的同步硬盤的策略是“每秒同步” everysec,用于平衡性能和數據安全性,對于這種方式,redis 使用另一條線程每秒執行 fsync 同步硬盤,當系統資源繁忙時,將造成 Redis 主線程阻塞。

流程圖如下:

通過上圖可以發現:everysec 配置最多可能丟失 2 秒數據,不是 1 秒;如果系統 fsync 緩慢,將會導致 Redis 主線程阻塞影響效率。

問題定位:

1、發生 AOF 阻塞時,會輸入日志。用于記錄 AOF fsync 阻塞導致拖慢 Redis 服務的行為。

2、每當 AOF 追加阻塞事件發生時,在 info Persistence 統計中,aofdelayedfsync 指標會累加,查看這個指標方便定位 AOF 阻塞問題。

3、AOF 同步最多運行 2 秒的延遲,當延遲發生時說明硬盤存在性能問題,可通過監控工具 iotop 查看,定位消耗 IO 的進程。

4. 單機多實例部署

Redis 單線程架構無法充分利用多核CPU,通常的做法是一臺機器上部署多個實例,當多個實例開啟 AOF 后,彼此之間就會產生CPU 和 IO 的競爭。

如何解決這個問題呢?

讓所有實例的 AOF 串行執行。

我們通過 info Persistence 中關于 AOF 的信息寫出 Shell 腳本,然后串行執行實例的 AOF 持久化。

整個過程如圖:

通過不斷判斷 AOF 的狀態,手動執行 AOF 重寫,保證 AOF 不會存在競爭。具體的 Shell 編寫以及 info 信息判斷,可以查看下圖:

六、總結

本文主要講了 Redis 的持久化相關功能,持久化一直是影響 Redis 性能的高發地,也是面試中經常被問到的。包括 RDB 相關的特定和優缺點,AOF 的優缺點,事實上,由于 RDB 的數據實時性問題,目前用 AOF 比較多了。而持久化恢復也是優先 AOF。

關于持久化的問題排查,就很麻煩了,但無非幾個方面,fork 耗時,子進程的 CPU,內存,硬盤開銷,AOF 的同步阻塞,單機多實例部署。

這些優化,可以通過前面寫的分析進行排查。

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2018-02-01 09:26:12

面試算法題程序員

2019-03-06 14:26:31

Javascript面試前端

2022-01-12 09:08:37

索引JavaReference對象

2019-12-16 15:37:57

JavaScript人生第一份工作瀏覽器

2022-10-09 07:33:38

JavaSPI程序

2022-08-12 09:35:36

JavaScript面試

2019-07-16 10:10:46

JavaScript數據類型

2020-05-14 08:13:56

JDK命令Java

2020-07-01 17:25:28

Redis數據庫內存

2019-05-15 16:45:13

SpringBoot面試題Java

2010-04-06 13:07:45

Oracle數據庫

2024-09-29 09:25:53

2018-12-14 09:48:23

Redis數據故障

2018-11-14 12:18:35

設計畫面太亂視覺元素

2024-03-26 00:03:08

Redis數據RDB

2010-03-31 17:17:32

2021-03-16 08:26:49

RedisRDBAOF

2021-10-18 22:29:54

OOMJava Out Of Memo

2021-07-18 07:59:42

RedisRDBAOF

2022-04-01 12:40:13

MySQL數據庫
點贊
收藏

51CTO技術棧公眾號

一区二区三区午夜| 亚洲熟女少妇一区二区| 麻豆网站免费在线观看| 久久久久久久综合日本| 国产中文欧美精品| 欧美高清视频一区二区三区| 西瓜成人精品人成网站| 精品视频999| 国产美女在线一区| 成人在线观看一区| 国产成人av一区二区三区在线| 亚州国产精品久久久| 日韩一区二区a片免费观看| 日韩欧美三区| 欧美日韩亚洲系列| 精品国产三级a∨在线| 五十路在线视频| 捆绑变态av一区二区三区| 久久久久久亚洲| 五月婷婷婷婷婷| 亲子伦视频一区二区三区| 欧美久久久一区| 国产精品后入内射日本在线观看| 精品视频在线一区二区| 91免费版在线| 99视频在线| 97精品人妻一区二区三区| 亚洲一区二区三区高清| 欧美人与物videos| 精品在线观看一区| 一区二区小说| 亚洲激情在线观看| 妖精视频在线观看| 亚洲精品乱码日韩| 欧美亚洲一区三区| 少妇性饥渴无码a区免费| 久久免费电影| 一区二区三区在线看| 亚洲综合首页| www.在线视频.com| 久久久精品天堂| 久久精品欧美| 少妇喷水在线观看| 成人综合婷婷国产精品久久免费| 成人网页在线免费观看| 中文字幕在线视频第一页| 久久不射网站| 欧美诱惑福利视频| 国产精品美女久久久久av爽| 亚洲高清毛片| 91精品国产乱码久久久久久蜜臀 | 国产精品美女久久久久aⅴ | 一本色道久久综合亚洲91 | 欧美日产一区二区三区在线观看| 粉嫩av一区二区夜夜嗨| 国产成人在线电影| 99久久久精品免费观看国产| 精品国产av 无码一区二区三区| 韩日欧美一区二区三区| 成人综合国产精品| 国产精品毛片一区二区在线看舒淇| 美女诱惑一区二区| 国产日韩欧美91| av中文字幕观看| 国产成a人亚洲| 国产九色精品| 欧美精品久久久久久久久久丰满| 久久伊人中文字幕| 日韩欧美电影一区二区| 91伦理视频在线观看| 国产精品夫妻自拍| 成人在线观看毛片| 白浆在线视频| 在线观看区一区二| 日本黄大片一区二区三区| 2019中文亚洲字幕| 欧美不卡视频一区| 超碰97在线资源站| 青青一区二区三区| 欧美成人免费视频| www.伊人久久| 精品一区中文字幕| 国产精品日韩一区二区三区 | 久久av红桃一区二区小说| 欧美精品99久久久| 一区二区三区国产盗摄| 国产成人涩涩涩视频在线观看 | 欧美大片免费| 欧美精品粉嫩高潮一区二区| av漫画在线观看| 精品少妇av| 伦理中文字幕亚洲| 国产乱国产乱老熟| 九色综合狠狠综合久久| 国产精品国产精品国产专区不卡| 精品无人乱码| 亚洲最大成人网4388xx| 毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 色爱综合网欧美| 欧美精品videossex88| 国产熟妇一区二区三区四区| 国产一区在线观看视频| 老牛影视免费一区二区| caoporn免费在线| 亚洲成人福利片| 国产成年人视频网站| 欧美性生活一级片| 精品久久久999| 51国产偷自视频区视频| 国产一区在线精品| 日韩av影视| 狼人综合视频| 日韩亚洲欧美高清| 欧美福利第一页| 一道本一区二区| 91久久偷偷做嫩草影院| 触手亚洲一区二区三区| 红桃视频成人在线观看| 亚洲av毛片在线观看| 狠狠操综合网| 8050国产精品久久久久久| 国产特黄一级片| 国产精品视频第一区| 日韩av片在线看| av成人资源| 久久99久久亚洲国产| 一区二区三区亚洲视频| 欧美激情综合在线| 日韩视频在线免费看| 精品伊人久久久| 欧美激情视频一区| 精品人妻伦一区二区三区久久| 国产精品三级在线观看| 五月婷婷狠狠操| 精品大片一区二区| 国产成人鲁鲁免费视频a| 亚洲人视频在线观看| 午夜欧美视频在线观看| 95视频在线观看| 黄色成人在线网站| 成人在线视频电影| 欧美韩日亚洲| 精品国产伦一区二区三区观看体验 | 欧美成人免费高清视频| 国语一区二区三区| 韩国精品美女www爽爽爽视频| 亚洲av色香蕉一区二区三区| 亚洲免费在线观看| 国内av免费观看| 亚洲欧美综合| 999精品视频一区二区三区| a级片国产精品自在拍在线播放| 在线不卡欧美精品一区二区三区| 日韩精品123区| 黄页网站大全一区二区| 久久av秘一区二区三区| 精品国产一区二区三区性色av| 久久天天躁日日躁| www.久久色| 亚洲国产日韩在线一区模特| 免费日本黄色网址| 西西人体一区二区| 日本一区免费观看| 欧美一级做一级爱a做片性| 久久精品亚洲热| 亚洲欧美激情国产综合久久久| 亚洲无人区一区| 中文字幕一区二区人妻在线不卡| 久热re这里精品视频在线6| 日韩欧美在线一区二区| 综合欧美精品| 性欧美在线看片a免费观看| 九色蝌蚪在线| 欧美日韩二区三区| 欧美精品入口蜜桃| 99久久综合99久久综合网站| 麻豆传传媒久久久爱| 色狮一区二区三区四区视频| 亚洲最大的免费| 欧美激情护士| 色偷偷av一区二区三区| 国产sm主人调教女m视频| 亚洲国产综合人成综合网站| 中国美女乱淫免费看视频| 久国产精品韩国三级视频| av 日韩 人妻 黑人 综合 无码| 偷拍亚洲精品| 国产美女精品视频| 丰满的护士2在线观看高清| 亚洲欧洲黄色网| 国产www免费观看| 欧美视频一区二区三区…| 91精品久久久久久久久久久久| 国产精品一区二区无线| 国产精品69久久久| 第一sis亚洲原创| 久久99精品久久久水蜜桃| 日本一区二区三区中文字幕 | 福利一区二区三区视频在线观看| 精品中文字幕在线| 国产精品免费播放| 亚洲高清久久网| 国产一区二区三区视频免费观看| 亚洲h精品动漫在线观看| 波兰性xxxxx极品hd| www.亚洲精品| 精品人妻无码中文字幕18禁| 日韩和欧美一区二区三区| 国产男女免费视频| 亚洲精品一区二区妖精| 欧美极品jizzhd欧美| 亚洲精品影片| 国产原创欧美精品| 超级碰碰久久| 欧美激情亚洲自拍| 福利在线视频网站| 中文字幕无线精品亚洲乱码一区| 欧美熟妇乱码在线一区| 7777女厕盗摄久久久| 自拍偷拍色综合| 色综合一区二区| 亚洲一区欧美在线| 亚洲一区二区美女| 一区二区成人免费视频| 国产精品乱码妇女bbbb| 蜜桃传媒一区二区亚洲av| www.色综合.com| 亚洲一二三四五| 国产精品99久久久久久似苏梦涵| 黄大色黄女片18第一次| 首页国产欧美日韩丝袜| 国产成人精品无码播放| 欧美一级视频| 116极品美女午夜一级| 国产日韩1区| 精品少妇在线视频| 韩日成人在线| www.九色.com| 亚洲三级影院| 久久黄色片视频| 国产欧美精品| 免费在线观看毛片网站| 欧美一级久久| 在线观看免费成人av| 久热精品视频| 黄色在线视频网| 麻豆精品国产91久久久久久| 国产精品久久久毛片| 日韩二区三区四区| 超碰在线97免费| 久久精品国产77777蜜臀| 在线观看国产中文字幕| 秋霞av亚洲一区二区三| 在线黄色免费看| 国产麻豆精品theporn| 最好看的中文字幕| 粉嫩av亚洲一区二区图片| 丝袜熟女一区二区三区| 99久久精品国产导航| a级大片在线观看| 国产欧美日韩一区二区三区在线观看| 丁香激情五月少妇| 亚洲欧洲精品一区二区三区 | 综合五月婷婷| 日韩精品一区二区免费| 国产精品免费看| 在线观看av日韩| 国产一区二区三区在线看麻豆| 中文字幕在线观看视频www| 本田岬高潮一区二区三区| 亚洲av无码国产精品久久| 欧美国产1区2区| 欧美黑人精品一区二区不卡| 污片在线观看一区二区| 一级片在线观看免费| 91精品国产麻豆国产自产在线| 六月丁香色婷婷| 一区二区av在线| 羞羞视频在线免费国产| 欧美一级片免费在线| 欧美日韩破处视频| 国产伦精品一区二区三区免| 国产精品嫩模av在线| 国产女人18毛片| 美女尤物久久精品| 97超碰免费在线观看| www国产成人免费观看视频 深夜成人网| 久久精品—区二区三区舞蹈| 亚洲精品成a人| 无码视频在线观看| 欧美大片在线观看| 国产九色在线| 久久久免费精品| 国产香蕉久久| 精品视频免费观看| 亚洲综合小说| 亚洲狼人综合干| 成人精品视频一区二区三区| 欧美一区二区三区粗大| 亚洲国产精品久久人人爱蜜臀| 波多野结衣在线电影| 精品国产一二三区| 在线播放日本| 热久久免费视频精品| 中文字幕av一区二区三区四区| 色中色综合成人| 国产欧美成人| 精品久久久久久无码人妻| 国产精品美女久久久久久| 免费黄色网址在线| 欧美mv和日韩mv的网站| 免费av毛片在线看| 国产mv免费观看入口亚洲| 大陆精大陆国产国语精品| 一本久道久久综合狠狠爱亚洲精品| 国产亚洲福利| 中文字幕一区二区三区乱码不卡| 亚洲女人的天堂| 在线观看中文字幕2021| 亚洲美女又黄又爽在线观看| 国产99在线观看| 国产精品国产一区二区| 68国产成人综合久久精品| 国产视频一区二区视频| 97se狠狠狠综合亚洲狠狠| 欧美国产日韩综合| 欧美一级搡bbbb搡bbbb| 免费高清在线观看| 国产精品小说在线| 精品99久久| 亚洲男人天堂色| 久久久精品黄色| 中文字幕视频网| 亚洲精品美女在线观看| 123区在线| 国产在线欧美日韩| aa亚洲婷婷| 美国黄色a级片| 欧美视频精品一区| 欧美18xxxxx| 日本精品久久久久影院| 蜜臀av免费一区二区三区| 国产免费毛卡片| 久久麻豆一区二区| 中文字幕高清在线免费播放| 亚洲欧美福利视频| 亚洲成a人片| 婷婷五月色综合| 久久99精品国产91久久来源| 国产精品酒店视频| 欧美精品一二三| 婷婷色在线播放| 国产精品制服诱惑| 亚洲欧美久久久| 麻豆精品免费视频| 欧美性淫爽ww久久久久无| 幼a在线观看| 亚洲自拍av在线| 亚洲人成在线影院| 一区二区黄色片| 宅男在线国产精品| 欧美人与牲禽动交com| 国产一区自拍视频| 久久黄色网页| 懂色av蜜臀av粉嫩av永久| 91精品国产全国免费观看| 青草在线视频| 免费在线国产精品| 麻豆成人在线观看| 久久成人国产精品入口| 日韩成人免费视频| 福利一区视频| 日本福利视频在线观看| 99久久久久久99| 中文字幕人妻精品一区| 欧美国产日韩一区| 美女久久久久| 五月六月丁香婷婷| 欧美日韩国产在线看| 91精彩视频在线播放| 成人一区二区在线| 日韩avvvv在线播放| 免费三片在线播放| 亚洲欧美日韩视频一区| 高清国产一区二区三区四区五区| 成年人网站国产| 中文无字幕一区二区三区 | 国产精品久久久久久久久免费高清| 欧美 另类 交| 久久女同性恋中文字幕| 国产男女无套免费网站| 欧美重口另类videos人妖| 98精品视频| 37p粉嫩大胆色噜噜噜| 日韩一级黄色大片| 欧美123区| 青青青免费在线| 亚洲欧美色一区| 成人亚洲综合天堂| 激情视频在线观看一区二区三区|