一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Redis - Redis監控技巧總結

Redis監控技巧總結

2019-12-03 16:19Redis教程網 Redis

本文來自Bugsnag的聯合創始人Simon Maynard的系列文章,作者根據幾年來對Redis的使用經歷,對Redis監控方法進行了系統性的總結,干貨很多,值得一看

Redis 監控最直接的方法當然就是使用系統提供的 info 命令來做了,你只需要執行下面一條命令,就能獲得 Redis 系統的狀態報告。 

redis-cli info 

內存使用 

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

持久化 

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

主從復制 

如果你設置了主從復制模式,那么你最好對復制的情況是否正常做一些監控,主要是對 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 



Fork 性能

 

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

配置一致

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

慢日志

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

值得一提的是,Redis 的慢日志記錄的時間,僅僅包括 Redis 自身對一條命令的執行時間,不包括 IO 的時間,比如接收客戶端數據和發送客戶端數據這些時間。另外,Redis 的慢日志和其它數據庫的慢日志有一點不同,其它數據庫偶爾出現 100ms 的慢日志可能都比較正常,因為一般數據庫都是多線程并發執行,某個線程執行某個命令的性能可能并不能代表整體性能,但是對 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 文件進行分析來取得統計數據的。

原文鏈接:Redis Masterclass – Part 2, Monitoring

延伸 · 閱讀

精彩推薦
  • Redisredis中如何使用lua腳本讓你的靈活性提高5個逼格詳解

    redis中如何使用lua腳本讓你的靈活性提高5個逼格詳解

    這篇文章主要給大家介紹了關于redis中如何使用lua腳本讓你的靈活性提高5個逼格的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具...

    一線碼農5812019-11-18
  • RedisRedis的配置、啟動、操作和關閉方法

    Redis的配置、啟動、操作和關閉方法

    今天小編就為大家分享一篇Redis的配置、啟動、操作和關閉方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧 ...

    大道化簡5312019-11-14
  • Redisredis 交集、并集、差集的具體使用

    redis 交集、并集、差集的具體使用

    這篇文章主要介紹了redis 交集、并集、差集的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友...

    xiaojin21cen10152021-07-27
  • Redisredis實現排行榜功能

    redis實現排行榜功能

    排行榜在很多地方都能使用到,redis的zset可以很方便地用來實現排行榜功能,本文就來簡單的介紹一下如何使用,具有一定的參考價值,感興趣的小伙伴們...

    乘月歸5022021-08-05
  • RedisRedis如何實現數據庫讀寫分離詳解

    Redis如何實現數據庫讀寫分離詳解

    Redis的主從架構,能幫助我們實現讀多,寫少的情況,下面這篇文章主要給大家介紹了關于Redis如何實現數據庫讀寫分離的相關資料,文中通過示例代碼介紹...

    羅兵漂流記6092019-11-11
  • RedisRedis全量復制與部分復制示例詳解

    Redis全量復制與部分復制示例詳解

    這篇文章主要給大家介紹了關于Redis全量復制與部分復制的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Redis爬蟲具有一定的參考學習...

    豆子先生5052019-11-27
  • Redis詳解Redis復制原理

    詳解Redis復制原理

    與大多數db一樣,Redis也提供了復制機制,以滿足故障恢復和負載均衡等需求。復制也是Redis高可用的基礎,哨兵和集群都是建立在復制基礎上實現高可用的...

    李留廣10222021-08-09
  • RedisRedis 事務知識點相關總結

    Redis 事務知識點相關總結

    這篇文章主要介紹了Redis 事務相關總結,幫助大家更好的理解和學習使用Redis,感興趣的朋友可以了解下...

    AsiaYe8232021-07-28
主站蜘蛛池模板: 国产高清在线不卡 | 日本一道本中文字幕 | 美琪美腿白丝交小说 | 久久精品小视频 | 4444kk在线看片 | 精品一久久香蕉国产线看观 | 亚洲成a人片777777久久 | 视频在线观看一区二区三区 | 亚洲一二三区久久五月天婷婷 | 免费看美女被靠到爽 | 久久中文字幕亚洲 | 夫妻性生活免费在线观看 | 天堂成人在线观看 | 青草视频在线观看视频 | 亚洲视频在线看 | 美女张开双腿让男人捅 | 四虎免费在线观看视频 | 日本色网址| 亚洲 日韩 在线 国产 视频 | bbox撕裂bass孕妇 | 欧美日韩国产一区二区三区在线观看 | 免费精品在线 | 久久久GOGO无码啪啪艺术 | 亚洲国产成人久久综合一 | 日本黄色大片网站 | 国产精品视频免费视频 | 国产悠悠视频在线播放 | 无码乱人伦一区二区亚洲 | 精品综合久久久久久8888 | 欧美性一区二区三区 | 久久精品亚洲国产AV涩情 | 亚洲性夜| 亚洲精品无码久久不卡 | 国产激情影院 | 美女福利视频一区二区 | 天天射久久| 男人在线影院 | 日日爱爱 | 星空无限传媒视频在线观看视频 | 国产欧美日韩在线不卡第一页 | 欧美在线视频一区二区 |