91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Redis內存如何使用

發布時間:2021-07-24 17:32:51 來源:億速云 閱讀:109 作者:Leah 欄目:數據庫

Redis內存如何使用,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

  Redis內存怎么使用

  如果 Redis 使用的內存超出了可用的物理內存大小,那么 Redis 很可能系統會被 OOM Killer 殺掉。針對這一點,你可以通過 info 命令對 used_memory 和 used_memory_peak 進行監控,為使用內存量設定閾值,并設定相應的報警機制。當然,報警只是手段,重要的是你得預先計劃好,當內存使用量過大后,你應該做些什么,是清除一些沒用的冷數據,還是把 Redis 遷移到更強大的機器上去。

  Redis持久化

  如果因為你的機器或 Redis 本身的問題導致 Redis 崩潰了,那么你唯一的救命稻草可能就是 dump 出來的 rdb文件了,所以,對 Redis dump 文件進行監控也是很重要的。你可以通過對 rdb_last_save_time 進行監控,了解你最近一次 dump 數據操作的時間,還可以通過對 rdb_changes_since_last_save 進行監控來知道如果這時候出現故障,你會丟失多少數據。

  Redis主從復制

  如果你設置了主從復制模式,那么你最好對復制的情況是否正常做一些監控,主要是對 info 輸出中的 master_link_status 進行監控,如果這個值是 up,那么說明同步正常,如果是 down,那么你就要注意一下輸出的其它一些診斷信息了。比如下面這些:

  role:slave

  master_host:192.168.1.128

  master_port:6379

  master_link_status:down

  master_last_io_seconds_ago:-1

  master_sync_in_progress:0

  master_link_down_since_seconds:1356900595

  RedisFork 性能

  當 Redis 持久化數據到磁盤上時,它會進行一次 fork 操作,通過 fork 對內存的 copy on write 機制最廉價的實現內存鏡像。但是雖然內存是 copy on write 的,但是虛擬內存表是在 fork 的瞬間就需要分配,所以 fork 會造成主線程短時間的卡頓(停止所有讀寫操作),這個卡頓時間和當前 Redis 的內存使用量有關。通常 GB 量級的 Redis 進行 fork 操作的時間在毫秒級。你可以通過對 info 輸出的 latest_fork_usec 進行監控來了解最近一次 fork 操作導致了多少時間的卡頓。

  Redis配置一致

  Redis 支持使用CONFIG SET 操作來實現運行實的配置修改,這很方便,但同時也會導致一個問題。就是通過這個命令動態修改的配置,是不會同步到你的配置文件中去的。所以當你因為某些原因重啟 Redis 時,你使用 CONFIG SET 做的配置修改就會丟失掉,所以我們最好保證在每次使用 CONFIG SET 修改配置時,也把配置文件一起相應地改掉。為了防止人為的失誤,所以我們最好對配置進行監控,使用 CONFIG GET 命令來獲取當前運行時的配置,并與 redis.conf 中的配置值進行對比,如果發現兩邊對不上,就啟動報警。

  Redis慢日志

  Redis 提供了 SLOWLOG 指令來獲取最近的慢日志,Redis 的慢日志是直接存在內存中的,所以它的慢日志開銷并不大,在實際應用中,我們通過 crontab 任務執行 SLOWLOG 命令來獲取慢日志,然后將慢日志存到文件中,并用 Kibana 生成實時的性能圖表來實現性能監控。

  值得一提的是,Redis 的慢日志記錄的時間,僅僅包括 Redis 自身對一條命令的執行時間,不包括 IO 的時間,比如接收客戶端數據和發送客戶端數據這些時間。另外,Redis 的慢日志和其它數據庫的慢日志有一點不同,其它數據庫偶爾出現 100ms 的慢日志可能都比較正常,因為一般數據庫都是多線程并發執行,某個線程執行某個命令的性能可能并不能代表整體性能,但是對 Redis 來說,它是單線程的,一旦出現慢日志,可能就需要馬上得到重視,最好去查一下具體是什么原因了。

  Redis監控有哪些服務

  -Sentinel

  Sentinel 是 Redis 自帶的工具,它可以對 Redis 主從復制進行監控,并實現主掛掉之后的自動故障轉移。在轉移的過程中,它還可以被配置去執行一個用戶自定義的腳本,在腳本中我們就能夠實現報警通知等功能。

  -Redis Live

  Redis Live 是一個更通用的 Redis 監控方案,它的原理是定時在 Redis 上執行 MONITOR 命令,來獲取當前 Redis 當前正在執行的命令,并通過統計分析,生成web頁面的可視化分析報表。

  -Redis Faina

  Redis Faina 是由著名的圖片分享應用 instagram 開發的 Redis 監控服務,其原理和 Redis Live 類似,都是對通過 MONITOR 來做的。

  數據分布

  弄清 Redis 中數據存儲分布是一件很難的是,比如你想知道哪類型的 key 值占用內存最多。下面是一些工具,可以幫助你對 Redis 的數據集進行分析。

  -Redis-sampler

  Redis-sampler 是 Redis 作者開發的工具,它通過采樣的方法,能夠讓你了解到當前 Redis 中的數據的大致類型,數據及分布狀況。

  -Redis-audit

  Redis-audit 是一個腳本,通過它,我們可以知道每一類 key 對內存的使用量。它可以提供的數據有:某一類 key 值的訪問頻率如何,有多少值設置了過期時間,某一類 key 值使用內存的大小,這很方便讓我們能排查哪些 key 不常用或者壓根不用。

  -Redis-rdb-tools

  Redis-rdb-tools 跟 Redis-audit 功能類似,不同的是它是通過對 rdb 文件進行分析來取得統計數據的。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黄陵县| 大宁县| 兴仁县| 娄烦县| 香河县| 沙河市| 来宾市| 孙吴县| 武定县| 庐江县| 宁晋县| 宣城市| 水富县| 双江| 台东市| 屏南县| 中方县| 南宁市| 沙坪坝区| 琼结县| 芦山县| 桂平市| 商丘市| 上饶市| 太湖县| 玉田县| 鄯善县| 洪雅县| 乌海市| 天等县| 安新县| 当阳市| 汪清县| 长寿区| 元江| 晋江市| 紫阳县| 乾安县| 靖边县| 平顺县| 沁阳市|