欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Redis慢查詢?nèi)罩九c監(jiān)視器問(wèn)題

 更新時(shí)間:2022年12月22日 10:21:57   作者:悠然予夏  
這篇文章主要介紹了Redis慢查詢?nèi)罩九c監(jiān)視器問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

我們都知道MySQL有慢查詢?nèi)罩?/p>

Redis也有慢查詢?nèi)罩?,可用于監(jiān)視和優(yōu)化查詢

1、慢查詢?cè)O(shè)置

redis.conf中可以配置和慢查詢?nèi)罩鞠嚓P(guān)的選項(xiàng):

#執(zhí)行時(shí)間超過(guò)多少微秒的命令請(qǐng)求會(huì)被記錄到日志上 0 :全記錄 <0 不記錄
slowlog-log-slower-than 10000
#slowlog-max-len 存儲(chǔ)慢查詢?nèi)罩緱l數(shù)
slowlog-max-len 128

Redis使用列表存儲(chǔ)慢查詢?nèi)罩?,采用?duì)列方式(FIFO)

  • config set的方式可以臨時(shí)設(shè)置,redis重啟后就無(wú)效
  • config set slowlog-log-slower-than 微秒
  • config set slowlog-max-len 條數(shù)

查看日志:slowlog get [n]

127.0.0.1:6379> config set slowlog-log-slower-than 0
OK
127.0.0.1:6379> config set slowlog-max-len 2
OK
127.0.0.1:6379> set name:001 zhaoyun
OK
127.0.0.1:6379> set name:002 zhangfei
OK
127.0.0.1:6379> get name:002
"zhangfei"
 
127.0.0.1:6379> slowlog get
1) 1) (integer) 7     # 日志的唯一標(biāo)識(shí)符(uid)
   2) (integer) 1589774302     # 命令執(zhí)行時(shí)的UNIX時(shí)間戳
   3) (integer) 65     # 命令執(zhí)行的時(shí)長(zhǎng)(微秒)
   4) 1) "get"     # 執(zhí)行命令及參數(shù)
      2) "name:002"
   5) "127.0.0.1:37277"
   6) ""
2) 1) (integer) 6
   2) (integer) 1589774281
   3) (integer) 7
   4) 1) "set"
      2) "name:002"
      3) "zhangfei"
   5) "127.0.0.1:37277"
   6) ""
# set和get都記錄,第一條被移除了。

2、慢查詢定位&處理

使用slowlog get 可以獲得執(zhí)行較慢的redis命令,針對(duì)該命令可以進(jìn)行優(yōu)化:

  • 盡量使用短的key,對(duì)于value有些也可精簡(jiǎn),能使用int就int。
  • 避免使用keys *、hgetall等全量操作。
  • 減少大key的存取,打散為小key 100K以上
  • 將rdb改為aof模式

rdb fork 子進(jìn)程 數(shù)據(jù)量過(guò)大 主進(jìn)程阻塞 redis性能大幅下降

關(guān)閉持久化,(適合于數(shù)據(jù)量較小,有固定數(shù)據(jù)源)

  • 想要一次添加多條數(shù)據(jù)的時(shí)候可以使用管道
  • 盡可能地使用哈希存儲(chǔ)
  • 盡量限制下redis使用的內(nèi)存大小,這樣可以避免redis使用swap分區(qū)或者出現(xiàn)OOM錯(cuò)誤

內(nèi)存與硬盤(pán)的swap

3、監(jiān)視器

Redis客戶端通過(guò)執(zhí)行MONITOR命令可以將自己變?yōu)橐粋€(gè)監(jiān)視器,實(shí)時(shí)地接受并打印出服務(wù)器當(dāng)前處理的命令請(qǐng)求的相關(guān)信息。

此時(shí),當(dāng)其他客戶端向服務(wù)器發(fā)送一條命令請(qǐng)求時(shí),服務(wù)器除了會(huì)處理這條命令請(qǐng)求之外,還會(huì)將這條命令請(qǐng)求的信息發(fā)送給所有監(jiān)視器。

Redis客戶端1 

127.0.0.1:6379> monitor
OK
1589706136.030138 [0 127.0.0.1:42907] "COMMAND"
1589706145.763523 [0 127.0.0.1:42907] "set" "name:10" "zhaoyun"
1589706163.756312 [0 127.0.0.1:42907] "get" "name:10"

Redis客戶端2

127.0.0.1:6379>
127.0.0.1:6379> set name:10 zhaoyun
OK
127.0.0.1:6379> get name:10
"zhaoyun"

4、Redis監(jiān)控平臺(tái)

grafana、prometheus以及redis_exporter。

Grafana 是一個(gè)開(kāi)箱即用的可視化工具,具有功能齊全的度量?jī)x表盤(pán)和圖形編輯器,有靈活豐富的圖形化選項(xiàng),可以混合多種風(fēng)格,支持多個(gè)數(shù)據(jù)源特點(diǎn)。

Prometheus是一個(gè)開(kāi)源的服務(wù)監(jiān)控系統(tǒng),它通過(guò)HTTP協(xié)議從遠(yuǎn)程的機(jī)器收集數(shù)據(jù)并存儲(chǔ)在本地的時(shí)序數(shù)據(jù)庫(kù)上。

redis_exporter為Prometheus提供了redis指標(biāo)的導(dǎo)出,配合Prometheus以及grafana進(jìn)行可視化及監(jiān)控。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • redis如何后臺(tái)啟動(dòng)的方法

    redis如何后臺(tái)啟動(dòng)的方法

    這篇文章主要介紹了redis如何后臺(tái)啟動(dòng)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Redis?腳本和連接命令示例詳解

    Redis?腳本和連接命令示例詳解

    Redis腳本是一種可以實(shí)現(xiàn)復(fù)雜任務(wù)的腳本語(yǔ)言,可以用來(lái)快速履行復(fù)雜任務(wù),靈活處理數(shù)據(jù)管理和管理復(fù)雜的利用場(chǎng)景,這篇文章主要介紹了Redis?腳本和連接命令,需要的朋友可以參考下
    2023-09-09
  • Redis中AOF與RDB持久化策略深入分析

    Redis中AOF與RDB持久化策略深入分析

    Redis作為一款內(nèi)存數(shù)據(jù)庫(kù),因?yàn)槭莾?nèi)存讀寫(xiě),所以性能很強(qiáng),但內(nèi)存存儲(chǔ)是易失性的,斷電或系統(tǒng)奔潰都會(huì)導(dǎo)致數(shù)據(jù)丟失,因此Redis也需要將其數(shù)據(jù)持久化到磁盤(pán)上面,當(dāng)Redis服務(wù)重啟時(shí),會(huì)把磁盤(pán)上的數(shù)據(jù)再加載進(jìn)內(nèi)存,Redis提供了兩種持久化機(jī)制-RDB快照和AOF日志
    2022-11-11
  • Redis為什么要存兩次數(shù)據(jù)

    Redis為什么要存兩次數(shù)據(jù)

    這篇文章主要介紹了Redis為什么要存兩次數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下
    2021-02-02
  • Redis Sentinel的基本搭建

    Redis Sentinel的基本搭建

    這篇文章主要介紹了Redis Sentinel的使用,幫助大家更好的理解和學(xué)習(xí)使用Redis數(shù)據(jù)庫(kù),感興趣的朋友可以了解下
    2021-03-03
  • Redis數(shù)據(jù)庫(kù)原理深入刨析

    Redis數(shù)據(jù)庫(kù)原理深入刨析

    在之前的文章我們介紹過(guò),Redis服務(wù)器在啟動(dòng)之初,會(huì)初始化RedisServer的實(shí)例,在這個(gè)實(shí)例中存在很多重要的屬性結(jié)構(gòu),同理本篇博客中介紹的數(shù)據(jù)庫(kù)實(shí)現(xiàn)原理也會(huì)和其中的某些屬性相關(guān),我們繼續(xù)看一下吧
    2022-11-11
  • Redis Desktop Manager(Redis可視化工具)安裝及使用圖文教程

    Redis Desktop Manager(Redis可視化工具)安裝及使用圖文教程

    這篇文章主要介紹了Redis Desktop Manager(Redis可視化工具)安裝及使用圖文教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-04-04
  • redis慢查詢?nèi)罩镜脑L問(wèn)和管理方式

    redis慢查詢?nèi)罩镜脑L問(wèn)和管理方式

    這篇文章主要介紹了redis慢查詢?nèi)罩镜脑L問(wèn)和管理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • redis緩存數(shù)據(jù)庫(kù)中數(shù)據(jù)的方法

    redis緩存數(shù)據(jù)庫(kù)中數(shù)據(jù)的方法

    這篇文章主要為大家詳細(xì)介紹了redis緩存數(shù)據(jù)庫(kù)中數(shù)據(jù)的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • redis2.8配置文件中文翻譯版

    redis2.8配置文件中文翻譯版

    這篇文章主要介紹了redis2.8配置文件中文翻譯版,本文翻譯了配置文件中的參數(shù)說(shuō)明,非常詳細(xì),需要的朋友可以參考下
    2015-06-06

最新評(píng)論