自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

詳解Redis慢查詢功能:快速定位性能瓶頸

數(shù)據(jù)庫 其他數(shù)據(jù)庫 Redis
Redis數(shù)據(jù)庫是一個基于內(nèi)存的 key-value存儲系統(tǒng),現(xiàn)在redis最常用的使用場景就是存儲緩存用的數(shù)據(jù),在需要高速讀/寫的場合使用它快速讀/寫,從而緩解應(yīng)用數(shù)據(jù)庫的壓力,進(jìn)而提升應(yīng)用處理能力。

Redis數(shù)據(jù)庫是一個基于內(nèi)存的 key-value存儲系統(tǒng),現(xiàn)在redis最常用的使用場景就是存儲緩存用的數(shù)據(jù),在需要高速讀/寫的場合使用它快速讀/寫,從而緩解應(yīng)用數(shù)據(jù)庫的壓力,進(jìn)而提升應(yīng)用處理能力。

許多數(shù)據(jù)庫會提供慢查詢?nèi)罩編椭_發(fā)和運維人員定位系統(tǒng)存在的慢操作。所謂慢查詢?nèi)罩揪褪窍到y(tǒng)在命令執(zhí)行前后計算每條命令的執(zhí)行時間,當(dāng)然在數(shù)據(jù)庫中最常見的就是select這些sql語句了,當(dāng)超過預(yù)設(shè)閥值,就將這條命令的相關(guān)信息(例如:發(fā)生時間,耗時,命令的詳細(xì)信息)記錄下來,其實Redis也提供了類似的功能。

詳解Redis慢查詢功能--快速定位性能瓶頸

一、相關(guān)參數(shù)

Redis主要提供了slowlog-log-slower-than和slowlog-max-len兩個配置參數(shù)來提供這項功能。兩項參數(shù)分別用來設(shè)置慢查詢的閾值以及存放慢查詢的記錄。

slowlog-log-slower-than參數(shù)設(shè)置什么情況下是慢語句,只有redis命令執(zhí)行時間大于slowlog-log-slower-than的才會定義成慢查詢,才會被slowlog進(jìn)行記錄。它的單位是微秒(1秒=1000毫秒=1000000微秒),在初始情況下默認(rèn)值是10000,也就是10ms,假如執(zhí)行了一條比較慢的命令,如果它的執(zhí)行時間超過了 10ms ,那么它將被記錄在慢查詢?nèi)罩局小?如果slowlog-log-slower-than=0會記錄所有的命令,slowlog-log-slower than<0對于任何命令都不會進(jìn)行記錄)

slowlog-max-len說明了慢查詢?nèi)罩咀疃嗫梢源鎯Χ嗌贄l記錄,實際上Redis使用了一個列表來存儲慢查詢?nèi)罩?,slowlog-max-len就是列表的最大長度,它自身是一個先進(jìn)先出隊列,當(dāng)slowlog超過設(shè)定的最大值后,會將最早的slowlog刪除。簡而言之當(dāng)一個新的命令滿足慢查詢條件時會被插入到這個列表中,當(dāng)慢查詢?nèi)罩玖斜硪烟幱谄渥畲箝L度時,最早插入的一個命令將從列表中移出,例如slowlog-max-len設(shè)置為 50 ,當(dāng)有第51條慢查詢插入的話,那么隊頭的第一條數(shù)據(jù)就出列,第51條慢查詢就會入列。

二、設(shè)置Redis慢查詢

1、臨時配置:CONFIG命令進(jìn)行動態(tài)配置

  1. #查看 
  2. >config get slowlog-log-slower-than 
  3. >config get slowlog-max-len 
  4. #配置查詢時間超過1毫米的命令進(jìn)行記錄并保存500條慢查詢記錄 
  5. >config set slowlog-log-slower-than 1000 
  6. >config set slowlog-max-len 500 

詳解Redis慢查詢功能--快速定位性能瓶頸

注意通過config命令配置的為動態(tài)生效 , 一旦服務(wù)重啟則會重新恢復(fù)為默認(rèn)設(shè)置 , 所以建議在排查問題時通過config這種方式進(jìn)行配置 , 但是服務(wù)穩(wěn)定后通過修改配置文件方式進(jìn)行最終確認(rèn) (可以通過config rewrite命令持久化到本地文件 , 但要主要啟動redis時要指定redis.conf文件 該命令才可以生效)。

2. 永久配置:配置redis.conf文件

  1. # vi redis.conf 
  2. slowlog-log-slower-than 1000 
  3. slowlog-max-len 500 

詳解Redis慢查詢功能--快速定位性能瓶頸

三、查看Redis慢查詢記錄

要想查看所記錄的日志 ,主要使用 SLOWLOG GET 或者 SLOWLOG GET number 命令,前者將會輸出所有的 slow log ,最大長度取決于 slowlog-max-len 選項的值,而 SLOWLOG GET number 則只打印指定數(shù)量的日志。

查看當(dāng)前日志數(shù)量: 使用slowlog len命令查看日志數(shù)量。

如果日志條數(shù)過多,還可以使用slowlog reset命令進(jìn)行日志清空 。

詳解Redis慢查詢功能--快速定位性能瓶頸

部分記錄說明:

  1. 3) 1) (integer) 25 # 唯一性(unique)的日志標(biāo)識符 
  2.  2) (integer) 1565951323 # 被記錄命令的執(zhí)行時間點,以 UNIX 時間戳格式表示 
  3.  3) (integer) 22720 # 查詢執(zhí)行時間,以微秒為單位 
  4.  4) 1) "SMEMBERS" # 執(zhí)行的命令,以數(shù)組的形式排列 
  5.  2) "spring:session:expirations:1565950980000" # 這里完整的命令是 SMEMBERS spring:session:expirations:1565950980000 

 

責(zé)任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2019-09-11 10:23:58

Redis性能存儲

2022-04-29 15:24:53

Redis存儲慢查詢

2021-04-07 10:38:43

MySQL數(shù)據(jù)庫命令

2019-08-22 09:57:10

ExpdpImpdpMOS

2022-05-11 09:16:55

Linux網(wǎng)絡(luò)

2023-03-19 17:29:01

2020-03-31 17:05:39

Redis熱 key代理

2018-09-13 09:42:30

數(shù)據(jù)庫Redis慢查詢

2023-04-17 08:04:15

Redis性能內(nèi)存

2010-11-25 16:29:26

MySQL慢日志查詢

2010-06-04 11:00:27

hadoop性能優(yōu)化

2009-01-17 15:26:05

2013-02-22 18:28:18

容錯服務(wù)器、

2023-10-16 23:12:02

Redis數(shù)據(jù)結(jié)構(gòu)

2019-10-31 11:50:19

MySQL數(shù)據(jù)庫Windows

2020-12-07 06:30:34

Redis性能命令

2009-08-27 09:13:28

LINQ查詢表達(dá)式

2011-06-28 08:32:40

MySQL慢查詢?nèi)罩?/a>

2020-11-11 10:00:13

NAT性能內(nèi)核

2023-05-06 18:37:43

點贊
收藏

51CTO技術(shù)棧公眾號