Redis重要的健康指標(biāo)有哪些

這篇文章主要講解了“redis重要的健康指標(biāo)有哪些”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Redis重要的健康指標(biāo)有哪些”吧!

創(chuàng)新互聯(lián)是一家專注于網(wǎng)站設(shè)計(jì)、做網(wǎng)站與策劃設(shè)計(jì),廣豐網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:廣豐等地區(qū)。廣豐做網(wǎng)站價格咨詢:18980820575

存活情況

所有指標(biāo)中最重要的當(dāng)然是檢查redis是否還活著,可以通過命令PING的響應(yīng)是否是PONG來判斷。

連接數(shù)

連接的客戶端數(shù)量,可通過命令src/redis-cli info Clients | grep  connected_clients得到,這個值跟使用redis的服務(wù)的連接池配置關(guān)系比較大,所以在監(jiān)控這個字段的值時需要注意。另外這個值也不能太大,建議不要超過5000,如果太大可能是redis處理太慢,那么需要排除問題找出原因。

Redis重要的健康指標(biāo)有哪些

另外還有一個拒絕連接數(shù)(rejected_connections)也需要關(guān)注,這個值理想狀態(tài)是0。如果大于0,說明創(chuàng)建的連接數(shù)超過了maxclients,需要排查原因。是redis連接池配置不合理還是連接這個redis實(shí)例的服務(wù)過多等。

阻塞客戶端數(shù)量

blocked_clients,一般是執(zhí)行了list數(shù)據(jù)類型的BLPOP或者BRPOP命令引起的,可通過命令src/redis-cli info  Clients | grep blocked_clients得到,很明顯,這個值***應(yīng)該為0。

使用內(nèi)存峰值

監(jiān)控redis使用內(nèi)存的峰值,我們都知道Redis可以通過命令config set maxmemory  10737418240設(shè)置允許使用的***內(nèi)存(強(qiáng)烈建議不要超過20G),為了防止發(fā)生swap導(dǎo)致Redis性能驟降,甚至由于使用內(nèi)存超標(biāo)導(dǎo)致被系統(tǒng)kill,建議used_memory_peak的值與maxmemory的值有個安全區(qū)間,例如1G,那么used_memory_peak的值不能超過9663676416(9G)。另外,我們還可以監(jiān)控maxmemory不能少于多少G,比如5G。因?yàn)槲覀円郧吧a(chǎn)環(huán)境出過這樣的問題,運(yùn)維不小心把10G配置成了1G,從而導(dǎo)致服務(wù)器有足夠內(nèi)存卻不能使用的悲劇。

內(nèi)存碎片率

mem_fragmentation_ratio=used_memory_rss/used_memory,這也是一個非常需要關(guān)心的指標(biāo)。如果是redis4.0之前的版本,這個問題除了重啟也沒什么很好的優(yōu)化辦法。而redis4.0有一個主要特性就是優(yōu)化內(nèi)存碎片率問題(Memory  de-fragmentation)。在redis.conf配置文件中有介紹即ACTIVE  DEFRAGMENTATION:碎片整理允許Redis壓縮內(nèi)存空間,從而回收內(nèi)存。這個特性默認(rèn)是關(guān)閉的,可以通過命令CONFIG SET  activedefrag yes熱啟動這個特性。

  • 當(dāng)這個值大于1時,表示分配的內(nèi)存超過實(shí)際使用的內(nèi)存,數(shù)值越大,碎片率越嚴(yán)重。

  • 當(dāng)這個值小于1時,表示發(fā)生了swap,即可用內(nèi)存不夠。

另外需要注意的是,當(dāng)內(nèi)存使用量(used_memory)很小的時候,這個值參考價值不大。所以,建議used_memory至少1G以上才考慮對內(nèi)存碎片率進(jìn)行監(jiān)控。

緩存***率

keyspace_misses/keyspace_hits這兩個指標(biāo)用來統(tǒng)計(jì)緩存的命令率,keyspace_misses指未***次數(shù),keyspace_hits表示***次數(shù)。keyspace_hits/(keyspace_hits+keyspace_misses)就是緩存***率。視情況而定,建議0.9以上,即緩存***率要超過90%。如果緩存***率過低,那么要排查對緩存的用法是否有問題!

OPS

instantaneous_ops_per_sec這個指標(biāo)表示緩存的OPS,如果業(yè)務(wù)比較平穩(wěn),那么這個值也不會波動很大,不過國內(nèi)的業(yè)務(wù)比較特性,如果不是全球化的產(chǎn)品,夜間是基本上沒有什么訪問量的,所以這個字段的監(jiān)控要結(jié)合自己的具體業(yè)務(wù),不同時間段波動范圍可能有所不同。

持久化

rdb_last_bgsave_status/aof_last_bgrewrite_status,即最近一次或者說***一次RDB/AOF持久化是否有問題,這兩個值都應(yīng)該是"ok"。

另外,由于redis持久化時會fork子進(jìn)程,且fork是一個完全阻塞的過程,所以可以監(jiān)控fork耗時即latest_fork_usec,單位是微妙,如果這個值比較大會影響業(yè)務(wù),甚至出現(xiàn)timeout。

失效KEY

如果把Redis當(dāng)緩存使用,那么建議所有的key都設(shè)置了expire屬性,通過命令src/redis-cli info  Keyspace得到每個db中key的數(shù)量和設(shè)置了expire屬性的key的屬性,且expires需要等于keys:

# Keyspace db0:keys=30,expires=30,avg_ttl=0 db0:keys=23,expires=22,avg_ttl=0

慢日志

通過命令slowlog  get得到Redis執(zhí)行的slowlog集合,理想情況下,slowlog集合應(yīng)該為空,即沒有任何慢日志,不過,有時候由于網(wǎng)絡(luò)波動等原因造成set key  value這種命令執(zhí)行也需要幾毫秒,在監(jiān)控的時候我們需要注意,而不能看到slowlog就想著去優(yōu)化,簡單的set/get可能也會出現(xiàn)在slowlog中。

感謝各位的閱讀,以上就是“Redis重要的健康指標(biāo)有哪些”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Redis重要的健康指標(biāo)有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

網(wǎng)站標(biāo)題:Redis重要的健康指標(biāo)有哪些
URL網(wǎng)址:http://bm7419.com/article0/jdeioo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、關(guān)鍵詞優(yōu)化、動態(tài)網(wǎng)站企業(yè)建站、、網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司