国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

為什么Redis內存不宜過大

大數據 Redis
redis這個內存數據庫,它的高性能、穩定性都是不用懷疑的,但我們塞進redis的數據過多,內存過大,那如果出問題,那它可能會帶給我們的就是災難性。

這幾年的線上業務表明,redis這個內存數據庫,它的高性能、穩定性都是不用懷疑的,但我們塞進redis的數據過多,內存過大,那如果出問題,那它可能會帶給我們的就是災難性(我想很多公司都遇到過) 這里列舉一下,我們遇到的一些問題:

1 主庫宕機

先來看一下主庫宕機容災過程:如下圖

在主庫宕機的時候,我們最常見的容災策略為“切主”。具體為從該集群剩余從庫中選出一個從庫并將其升級為主庫,該從庫升級為主庫后再將剩余從庫掛載至其下成為其從庫,最終恢復整個主從集群結構。

以上是一個完整的容災過程,而代價***的過程為從庫的重新掛載,而非主庫的切換。

這是因為redis無法像mysql、mongodb那樣基于同步的點位在主庫發生變化后從新的主庫繼續同步數據。 在redis集群中一旦從庫換主,redis的做法是將更換主庫的從庫清空然后從新主庫完整同步一份數據再進行續傳。

整個從庫重做流程是這樣的:

  1. 主庫bgsave自身數據到磁盤
  2. 主庫發送rdb文件到從庫
  3. 從庫開始加載
  4. 加載完畢開始續傳,同時開始提供服務

很明顯,在這個過程中redis的內存體積越大以上每一個步驟的時間都會被拉長,實際測試的數據如下(我們自認我們的機器性能比較好):

可以看到,當數據達到20G的時候,一個從庫的恢復時間已經被拉長到了將近20分鐘,如果有10個從庫那么如果依次恢復則共需200分鐘,而如果此時該從庫承擔著大量的讀取請求你能夠忍受這么長的恢復時間嗎?

看到這里你肯定會問:為什么不能同時重做所有從庫?這是因為所有從庫如果同時向主庫請求rdb文件那么主庫的網卡則立即跑滿從而進入一個無法正常提供服務的狀態,此時主庫又死了,簡直是雪上加霜。

當然,我們可以批量恢復從庫,例如兩兩一組,那么全部從庫的恢復時間也僅僅從200分鐘降低到了100分鐘,這不是五十步笑百步嗎?

另一個重要問題在于第四點中的標紅位置,續傳可以理解為一個簡化的mongodb的oplog,它是一個體積固定的內存空間,我們稱之為“同步緩沖區”。

redis主庫的寫入操作都會在該區域存放一份然后發送給從庫,而如果在上文中1,2,3步耗時太久那么很可能這個同步緩沖區就被重寫,此時從庫無法找到對應的續傳位置它會怎么辦?答案是重做1,2,3步!

但因為我們無法解決1,2,3步的耗時因此該從庫會永遠的進入惡性循環:不停的向主庫請求完整數據,結果對主庫的網卡造成嚴重影響。

2 擴容問題

很多時候會出現流量的突發性增長,通常在找到原因之前我們的應急做法就是擴容了。

而根據場景一中的表格,一個20G的redis擴容一個從庫需要將近20分鐘,在這個緊急的時刻20分鐘業務能夠容忍嗎?可能還沒擴好就死翹翹了。

3 網絡不好導致從庫重做最終引發雪崩

該場景的***問題是主庫與從庫的同步中斷,而此時很可能從庫仍然在接受寫入請求,那么一旦中斷時間過長同步緩沖區就很可能被復寫。此時從庫上一次的同步位置已丟失,在網絡恢復后雖然主庫沒有發生變化但由于從庫的同步位置丟失了從庫必須進行重做,也就是問題一中的1,2,3,4步。如果此時主庫內存體積過大那么從庫重做速度就會很慢,而發送到從庫的讀請求就會受到嚴重影響,同時由于傳輸的rdb文件的體積過大,主庫的網卡在相當長的一段時間內都會受到嚴重影響。

4 內存越大,觸發持久化的操作阻塞主線程的時間越長

Redis是單線程的內存數據庫,在redis需要執行耗時的操作時,會fork一個新進程來做,比如bgsave,bgrewriteaof。 Fork新進程時,雖然可共享的數據內容不需要復制,但會復制之前進程空間的內存頁表,這個復制是主線程來做的,會阻塞所有的讀寫操作,并且隨著內存使用量越大耗時越長。例如:內存20G的redis,bgsave復制內存頁表耗時約為750ms,redis主線程也會因為它阻塞750ms。

解決辦法

解決辦法當然就是極力減少內存的使用了,一般情況下,我們都是這么做的:

1 設置過期時間

對具有時效性的key設置過期時間,通過redis自身的過期key清理策略來降低過期key對于內存的占用,同時也能夠減少業務的麻煩,不需要定期清理了

2 不存放垃圾到redis中

這簡直就是廢話,但是,有跟我們同病相憐的人么?

3 及時清理無用數據

例如一個redis承載了3個業務的數據,一段時間后有2個業務下線了,那你就把這兩個業務的相關數據清理了唄

4 盡量對數據進行壓縮

例如一些長文本形式的數據,壓縮能夠大幅度降低內存占用

5 關注內存增長并定位大容量key

不管是DBA還是開發人員,你用redis,你就必須關注內存,否則,你其實就是不稱職的,這里可以分析redis實例中哪些key比較大從而幫助業務快速定位異常key(非預期增長的key,往往是問題之源)

6 pika

如果實在不想搞的那么累,那就把業務遷移到新開源的pika上面,這樣就不用太關注內存了,redis內存太大引發的問題,那也都不是問題了。

***祈禱線上5000個redis實例都不要異常~~~

 

[[166660]]

 

責任編輯:Ophira 來源: dba流浪貓
相關推薦

2023-12-08 08:01:14

Redis存儲內存

2024-12-23 15:28:01

2023-03-21 08:02:36

Redis6.0IO多線程

2018-04-25 10:13:30

Redis內存模型

2021-08-10 09:58:59

ThreadLocal內存泄漏

2020-04-14 16:03:31

Linux虛擬內存操作系統

2021-07-30 06:49:40

SSD內存CPU

2022-05-17 22:20:41

哨兵Redis機制

2023-06-06 09:03:06

InnodbMySQL

2019-12-18 09:42:19

技術 Linux網絡

2020-09-08 16:00:58

數據庫RedisMemcached

2023-08-29 07:46:08

Redis數據ReHash

2020-08-14 09:11:29

RedisQPS數據庫

2018-04-24 14:58:06

內存降價漲價

2021-03-10 10:40:04

Redis命令Linux

2025-04-01 05:22:00

JavaThread變量

2019-07-29 07:50:42

Linux內存Windows

2020-02-12 09:34:37

軟件微軟硬件

2022-10-18 08:38:16

內存泄漏線程

2011-05-24 16:39:09

Cfree()
點贊
收藏

51CTO技術棧公眾號

国产精品视频专区| 国产三区在线观看| 久久尤物电影视频在线观看| 2021久久精品国产99国产精品| 日韩伦理在线观看| 在线欧美三区| 91精品国产91久久| 亚洲伦理久久| 亚洲一区在线视频观看| 久久综合福利| 激情综合在线| 国产高清一区二区三区| 久久九九热re6这里有精品| 亚洲精品成人网| 精品国内亚洲2022精品成人| 成人一区二区免费视频| 国产丝袜一区二区| 国产又粗又猛又爽又黄91精品| 爱看av在线| 国产freexxxx性播放麻豆| 日韩在线视频免费观看高清中文 | xx视频.9999.com| 免费av片风间由美在线| 丰满岳乱妇一区二区三区| 欧美aaaaa喷水| 国产人成亚洲第一网站在线播放| 成人全视频免费观看在线看| 欧美 日韩 国产 高清| 欧美精品久久久久久久| 一级做a爱片久久| 在线亚洲免费| 一呦二呦三呦精品国产| av网站观看| 精品久久久久久一区| 亚洲男人av在线| 亚洲精品少妇30p| 日韩主播视频在线| 日韩在线观看中文字幕| 在线观看wwwxxxx| 亚洲人成网站免费播放| av在线免费一区| 成人在线观看av| 日韩视频免费观看高清完整版| 日韩制服丝袜av| 伊人精品综合| 欧美极品另类| 天天综合网日韩| 精品国产一区二区三区四区vr| 一区二区三区天堂av| 亚洲一区在线观看网站| 蜜乳av一区二区| 日韩欧美影院| 波多野结衣中文在线| 黄色三级高清在线播放| 爱爱爱视频网站| 国产精品旅馆在线| 欧美三区在线观看| 松下纱荣子在线观看| 欧美激情亚洲激情| 日本女优在线视频一区二区| 三级免费网站| 色噜噜狠狠狠综合曰曰曰| 欧美激情在线看| 黄色小说综合网站| 亚洲欧美伊人| 成年免费网站| 欧美日韩精品中文字幕一区二区| 毛片精品免费在线观看| 亚洲国产中文字幕在线观看| 欧美日韩中文字幕一区二区| 亚洲欧美视频在线观看视频| 久久裸体视频| 亚洲综合色网| 亚洲老女人视频免费| 国模大尺度视频一区二区| 欧美男男video| av在线第一页| 久播影院第一理论片| 日韩精品一区二区三区不卡 | 性视频1819p久久| 亚洲新中文字幕| 亚洲男人天堂2023| 亚洲人成网站色ww在线| 日韩av中文在线| 国产小视频国产精品| 久久久精品网站| 欧美精品免费播放| 久久久久久久国产精品| 欧美在线观看网址综合| 国产精品高潮呻吟久久av无限 | 97人人模人人爽人人喊中文字| 欧美老少做受xxxx高潮| 久久精品久久久久久国产 免费| 亚洲新声在线观看| 97色在线视频| 国产精品美女av| 精品视频一区在线| 一本久久a久久精品vr综合| 日韩国产成人无码av毛片| 乌克兰美女av| 国产中文在线| 超清av在线| 91蜜桃臀久久一区二区 | 污片在线免费观看| 亚洲电影一区| 999精品在线| 蜜臀国产一区二区三区在线播放| av亚洲精华国产精华精| 亚洲青青青在线视频| 3d成人h动漫网站入口| 亚洲天堂色网站| 国产精品久久久久久久久免费| 狠狠久久综合婷婷不卡| 99热亚洲精品| 国产69精品久久app免费版| 91精品产国品一二三产区| 日韩有码中文字幕在线| 日本女人一区二区三区| 激情另类小说区图片区视频区| 一片黄亚洲嫩模| 国产91高潮流白浆在线麻豆| 久久久久青草大香线综合精品| 色噜噜夜夜夜综合网| 久久在线免费观看视频| 99久久国产免费免费| 日韩一级免费在线观看| 国产秀色在线www免费观看| 超碰成人在线观看| 久草热8精品视频在线观看| 午夜精品久久久久久久久久| 亚洲人精品午夜在线观看| 国产一区玩具在线观看| av免费观看大全| 香蕉视频在线看| 精品美女久久| 欧美国产一区二区| 亚洲精品福利在线观看| 国产精品免费视频一区二区| 午夜欧美不卡精品aaaaa| 黄色三级中文字幕| 欧美xxxhd| 久久亚洲风情| 欧美久久久一区| 亚洲a级在线观看| 蜜臀在线观看| 欧美日韩激情| 欧美日韩国产影院| 91日本视频在线| 污网站在线播放| 国语精品一区| 欧美老女人第四色| 久久伊人一区| 99福利在线| 蜜桃精品视频在线| 亚洲天堂精品在线| 国产3p露脸普通话对白| h1515四虎成人| 成人福利在线看| 欧美尺度大的性做爰视频| 日韩av资源在线| 日韩欧美影院| 亚洲国产欧美在线人成| 欧美激情按摩在线| 草草久视频在线观看电影资源| 国产成人黄色| 91福利精品视频| 在线码字幕一区| 巨大黑人极品videos精品| 91首页免费视频| 欧美激情视频网站| 国产真实乱子伦| 日韩欧美一区免费| 日韩欧美亚洲一区二区| 国产一二三四区在线观看| 51vv免费精品视频一区二区| 亚洲美女偷拍久久| 女人一区二区三区| 亚洲高清在线一区| 欧美日韩中文字幕在线| 久久久久久久9| 久久久久久久久丰满| 亚洲精品大尺度| 成人在线观看视频app| 日本不卡高清视频| 26uuu另类亚洲欧美日本老年| 在线免费观看污| 亚洲综合另类小说| 成年人深夜视频| 午夜精品久久久久99热蜜桃导演| 中文字幕无线精品亚洲乱码一区 | 黄色网战入口| 影音先锋国产精品| 欧美成人免费全部| p色视频免费在线观看| www精品美女久久久tv| 欧美一区亚洲二区| 日韩成人激情| 8050国产精品久久久久久| 在线观看欧美日韩电影| 91久久精品日日躁夜夜躁欧美|