0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

面試題:監(jiān)控Redis哪些指標

馬哥Linux運維 ? 來源:51CTO博客 ? 作者:yht_1990 ? 2021-11-22 09:26 ? 次閱讀

監(jiān)控 Redis 哪些指標?

這是一個常見的面試題,直接上菜

監(jiān)控指標

  • 性能指標:Performance

  • 內(nèi)存指標: Memory

  • 基本活動指標:Basic activity

  • 持久性指標: Persistence

  • 錯誤指標:Error

  • 性能指標:Performance


Name Description
latency Redis響應(yīng)一個請求的時間
instantaneous_ops_per_sec 平均每秒處理請求總數(shù)
hi rate(calculated) 緩存命中率(計算出來的)

內(nèi)存指標: Memory

Name Description
used_memory 已使用內(nèi)存
mem_fragmentation_ratio 內(nèi)存碎片率
evicted_keys 由于最大內(nèi)存限制被移除的key的數(shù)量
blocked_clients 由于BLPOP,BRPOP,or BRPOPLPUSH而備阻塞的客戶端

基本活動指標:Basic activity

Name Description
connected_clients 客戶端連接數(shù)
conected_laves slave數(shù)量
master_last_io_seconds_ago 最近一次主從交互之后的秒數(shù)
keyspace 數(shù)據(jù)庫中的key值總數(shù)

持久性指標: Persistence

Name Description
rdb_last_save_time 最后一次持久化保存磁盤的時間戳
rdb_changes_sice_last_save 自最后一次持久化以來數(shù)據(jù)庫的更改數(shù)

錯誤指標:Error

Name Description
rejected_connections 由于達到maxclient限制而被拒絕的連接數(shù)
keyspace_misses key值查找失敗(沒有命中)次數(shù)
master_link_down_since_seconds 主從斷開的持續(xù)時間(以秒為單位)

監(jiān)控方式

  • redis-benchmark

  • redis-stat

  • redis-faina

  • redislive

  • redis-cli

  • monitor

  • showlog

  • 1)get:獲取慢查詢?nèi)罩?/span>

  • 2)len:獲取慢查詢?nèi)罩緱l目數(shù)

  • 3)reset:重置慢查詢?nèi)罩?/span>

相關(guān)配置:

slowlog-log-slower-than 1000 # 設(shè)置慢查詢的時間下線,單位:微秒slowlog-max-len 100 # 設(shè)置慢查詢命令對應(yīng)的日志顯示長度,單位:命令數(shù)
  • info(可以一次性獲取所有的信息,也可以按塊獲取信息)

  • 1)server:服務(wù)器運行的環(huán)境參數(shù)

  • 2)clients:客戶端相關(guān)信息

  • 3)memory:服務(wù)器運行內(nèi)存統(tǒng)計數(shù)據(jù)

  • 4)persistence:持久化信息

  • 5)stats:通用統(tǒng)計數(shù)據(jù)

  • 6)Replication:主從復(fù)制相關(guān)信息

  • 7)CPU:CPU使用情況

  • 8)cluster:集群信息

  • 9)Keypass:鍵值對統(tǒng)計數(shù)量信息

終端info命令使用
  • ./redis-cli info 按塊獲取信息 | grep 需要過濾的參數(shù)
  • ./redis-cli info stats | grep ops

交互式info命令使用

 #./redis-cli> info server

	

性能監(jiān)控

redis-cli info | grep ops # 每秒操作數(shù)

aeff8370-4a07-11ec-b939-dac502259ad0.png

內(nèi)存監(jiān)控

[root@CombCloud-2020110836 src]# ./redis-cli info | grep used | grep humanused_memory_human:2.99M  # 內(nèi)存分配器從操作系統(tǒng)分配的內(nèi)存總量used_memory_rss_human:8.04M  #操作系統(tǒng)看到的內(nèi)存占用,top命令看到的內(nèi)存used_memory_peak_human:7.77M # redis內(nèi)存消耗的峰值used_memory_lua_human:37.00K   # lua腳本引擎占用的內(nèi)存大小

由于BLPOP,BRPOP,or BRPOPLPUSH而備阻塞的客戶端

[root@CombCloud-2020110836 src]# ./redis-cli info | grep blocked_clientsblocked_clients:0

由于最大內(nèi)存限制被移除的key的數(shù)量

[root@CombCloud-2020110836 src]# ./redis-cli info | grep evicted_keysevicted_keys:0  #

內(nèi)存碎片率

[root@CombCloud-2020110836 src]# ./redis-cli info | grep mem_fragmentation_ratiomem_fragmentation_ratio:2.74

已使用內(nèi)存

[root@CombCloud-2020110836 src]# ./redis-cli info | grep used_memory:used_memory:3133624

	

基本活動指標

redis連接了多少客戶端

通過觀察其數(shù)量可以確認是否存在意料之外的連接。如果發(fā)現(xiàn)數(shù)量不對勁,就可以使用lcient list指令列出所有的客戶端鏈接地址來確定源頭。

[root@CombCloud-2020110836 src]# ./redis-cli info | grep connected_clientsconnected_clients:1[root@CombCloud-2020110836 src]# ./redis-cli info | grep connectedconnected_clients:1   # 客戶端連接數(shù)量connected_slaves:1   # slave連接數(shù)量

	

持久性指標

[root@CombCloud-2020110836 src]# ./redis-cli info | grep rdb_last_save_timerdb_last_save_time:1591876204  # 最后一次持久化保存磁盤的時間戳[root@CombCloud-2020110836 src]# ./redis-cli info | grep rdb_changes_since_last_saverdb_changes_since_last_save:0   # 自最后一次持久化以來數(shù)據(jù)庫的更改數(shù)

	

錯誤指標

由于超出最大連接數(shù)限制而被拒絕的客戶端連接次數(shù),如果這個數(shù)字很大,則意味著服務(wù)器的最大連接數(shù)設(shè)置得過低,需要調(diào)整maxclients

[root@CombCloud-2020110836 src]# ./redis-cli info | grep connected_clientsconnected_clients:1

	

key值查找失敗(沒有命中)次數(shù),出現(xiàn)多次可能是被黑客攻擊

[root@CombCloud-2020110836 src]# ./redis-cli info | grep keyspacekeyspace_misses:0

	

主從斷開的持續(xù)時間(以秒為單位)

[root@CombCloud-2020110836 src]# ./redis-cli info | grep rdb_changes_since_last_saverdb_changes_since_last_save:0

	

復(fù)制積壓緩沖區(qū)如果設(shè)置得太小,會導(dǎo)致里面的指令被覆蓋掉找不到偏移量,從而觸發(fā)全量同步

[root@CombCloud-2020110836 src]# ./redis-cli info | grep backlog_sizerepl_backlog_size:1048576

	

通過查看sync_partial_err變量的次數(shù)來決定是否需要擴大積壓緩沖區(qū),它表示主從半同步復(fù)制失敗的次數(shù)

[root@CombCloud-2020110836 src]# ./redis-cli info | grep sync_partial_errsync_partial_err:1

	

redis性能測試命令

./redis-benchmark -c 100 -n 5000

	

說明:100個連接,5000次請求對應(yīng)的性能。

責任編輯:haq
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    8

    文章

    2980

    瀏覽量

    73824
  • 監(jiān)控系統(tǒng)

    關(guān)注

    21

    文章

    3848

    瀏覽量

    173437
  • Redis
    +關(guān)注

    關(guān)注

    0

    文章

    370

    瀏覽量

    10830

原文標題:面試官:你都監(jiān)控 Redis 哪些指標?

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    Redis開源版與Redis企業(yè)版,怎么選用?

    點擊“藍字”關(guān)注我們數(shù)以千計的企業(yè)和數(shù)以百萬計的開發(fā)人員Redis開源版來構(gòu)建應(yīng)用程序。但隨著用戶數(shù)量、數(shù)據(jù)量和地區(qū)性的增加,成本、可擴展性、運營和可用性等問題也隨之而來。Redis企業(yè)版
    的頭像 發(fā)表于 04-04 08:04 ?926次閱讀
    <b class='flag-5'>Redis</b>開源版與<b class='flag-5'>Redis</b>企業(yè)版,怎么選用?

    GaussDB(for Redis) 特性揭秘:大 key 治理

    (for Redis)提供了完備的大 Key 解決方案,支持大 Key 在線診斷、監(jiān)控預(yù)警、承載力強等能力,讓 DBA 如虎添翼
    的頭像 發(fā)表于 03-28 22:06 ?644次閱讀
    GaussDB(for <b class='flag-5'>Redis</b>) 特性揭秘:大 key 治理

    什么是守護線程?守護線程的底層原理和使用示例

    大家好,今天這篇文章來梳理一下有關(guān)守護線程的相關(guān)問題,這也是之前曾經(jīng)有被問到過的面試題,在此之前我們先看一看守護線程的使用示例。
    的頭像 發(fā)表于 01-05 11:01 ?1305次閱讀
    什么是守護線程?守護線程的底層原理和使用示例

    經(jīng)典Linux面試題總結(jié)

    絕對路徑用什么符號表示?當前目錄、上層目錄用什么表示?主目錄用什么表示? 切換目錄用什么命令?
    的頭像 發(fā)表于 01-04 11:01 ?338次閱讀

    總結(jié)常見電路面試題

    輸入信號應(yīng)提前時鐘上升沿(如上升沿有效)T時間到達芯片,這個T就是建立時間-Setup time。如不滿足setup time,這個數(shù)據(jù)就不能被這一時鐘打入觸發(fā)器,只有在下一個時鐘上升沿,數(shù)據(jù)才能被打入觸發(fā)器。
    的頭像 發(fā)表于 01-02 16:03 ?379次閱讀

    redis容器內(nèi)怎么查看redis日志

    redis是一款流行的開源內(nèi)存數(shù)據(jù)庫,常用于緩存、消息隊列、任務(wù)管理等場景。在使用redis時,了解如何查看redis日志對于排查問題、監(jiān)控性能和分析應(yīng)用程序行為非常重要。在本文中,我
    的頭像 發(fā)表于 12-05 10:10 ?3407次閱讀

    redis的lru原理

    Redis是一種基于內(nèi)存的鍵值數(shù)據(jù)庫,它使用了LRU(Least Recently Used)算法來進行緩存的數(shù)據(jù)淘汰。LRU算法的核心思想是最近最少使用的數(shù)據(jù)將會在未來也不常用,因此應(yīng)該優(yōu)先
    的頭像 發(fā)表于 12-05 09:56 ?593次閱讀

    redis的淘汰策略

    Redis是一種基于內(nèi)存的鍵值存儲系統(tǒng),為了充分利用內(nèi)存,Redis采用了一些淘汰策略來管理內(nèi)存空間。淘汰策略的作用是當內(nèi)存空間不足時,選擇合適的數(shù)據(jù)對象進行淘汰,釋放出更多的內(nèi)存空間,以供后續(xù)
    的頭像 發(fā)表于 12-04 16:23 ?516次閱讀

    redis查看主從節(jié)點命令

    Redis是一種開源的內(nèi)存數(shù)據(jù)結(jié)構(gòu)存儲系統(tǒng),常被用作數(shù)據(jù)庫、緩存和消息中間件。在Redis中,可以通過一些命令來查看主從節(jié)點的信息,以便進行監(jiān)控和管理。 Redis 主從復(fù)制是指將一個
    的頭像 發(fā)表于 12-04 11:44 ?1207次閱讀

    Java redis鎖怎么實現(xiàn)

    在Java中實現(xiàn)Redis鎖涉及到以下幾個方面:Redis的安裝配置、Redis連接池的使用、Redis數(shù)據(jù)結(jié)構(gòu)的選擇、實現(xiàn)分布式鎖的幾種方式等。 一、
    的頭像 發(fā)表于 12-04 10:47 ?1096次閱讀

    redis集群狀態(tài)查看命令

    Redis集群是一種高可用性的分布式架構(gòu),可以通過多個節(jié)點實現(xiàn)數(shù)據(jù)的復(fù)制和負載均衡。為了維護集群的穩(wěn)定性和可靠性,管理員需要監(jiān)控和查看集群的狀態(tài)。下面是詳細介紹Redis集群狀態(tài)查看命令
    的頭像 發(fā)表于 12-04 10:44 ?1213次閱讀

    Windows Docker部署Redis的流程

    由于 Docker 部署 Redis 后,Redis 容器中默認是沒有 redis.conf 配置文件的,需要自己手動掛在進去。
    的頭像 發(fā)表于 11-27 10:02 ?830次閱讀
    Windows Docker部署<b class='flag-5'>Redis</b>的流程

    求解三極管電路的輸出電位值

    面試題的選擇當然是偶個人覺得比較好的,所以肯定有一定的主觀性。咱以前為公司招聘時也出過題目,都是最簡單的(例如,給一個“場效應(yīng)管驅(qū)動電磁繼電器”電路,讓你描述一些元件的作用),至于工程師能力與經(jīng)驗
    的頭像 發(fā)表于 11-20 17:38 ?959次閱讀
    求解三極管電路的輸出電位值

    硬件工程師經(jīng)典面試題詳解

    硬件工程師經(jīng)典面試題詳解
    的頭像 發(fā)表于 11-20 15:08 ?1345次閱讀
    硬件工程師經(jīng)典<b class='flag-5'>面試題</b>詳解

    Feign的超時時間如何設(shè)置呢?

    今天來聊一聊前段時間看到的一個面試題,也是在實際項目中需要考慮的一個問題,F(xiàn)eign 的超時時間如何設(shè)置?
    的頭像 發(fā)表于 11-15 10:22 ?1146次閱讀
    Feign的超時時間如何設(shè)置呢?