Redis スロークエリログの使用方法

王林
リリース: 2023-05-28 15:37:12
転載
1141 人が閲覧しました

スロークエリログ

スローログとは何ですか?

スロー ログは、クエリの実行に一定の時間を超えるコマンド リクエストを記録するために Redis によって使用されるログ システムです。クエリ実行時間とは、クライアントの応答 (通話) や応答の送信などの IO 操作を除いた、クエリ コマンドの実行にかかった時間を指します。また、低速ログはメモリに保存され、読み書き速度が非常に速いため、低速ログをオンにすることで Redis の速度が損なわれる心配がなく、安心してご利用いただけます。

Redis スロークエリログの使用方法
SLOWLOG の設定と表示

サーバー構成には、スロー クエリ ログに関連する 2 つのオプションがあります:

slowlog-log-swer- than: オプションは、実行時間が何マイクロ秒 (1 秒は 1,000,000 マイクロ秒に相当) を超えるコマンド リクエストをログに記録するかを指定します。たとえば、このオプションの値が 100 の場合、実行に 100 マイクロ秒を超えるコマンドがスロー クエリ ログに記録されます。このオプションの値が 500 の場合、実行に 500 マイクロ秒を超えるコマンドが記録されます。スロークエリログへのログ記録など。

オプションslowlog-max-lenは、サーバーが保持するスロークエリログの最大数を決定するために使用されます。サーバーは、先入れ先出し方式を使用して、複数のスロー クエリ ログを保存します。サーバーによって保存されたスロー クエリ ログの数が、slowlog-max-len オプションの値と等しい場合、サーバーは最初に新しいスロー クエリ ログを追加する前に、最も古いスロー クエリ ログが削除されます。たとえば、サーバーのslowlog-max-lenの値が100で、サーバーが100個のスロークエリログを保存していると仮定すると、サーバーが新しいログを追加する場合は、現在保存されている最も古いログを最初に削除する必要があります。 . ログを作成し、新しいログを追加します。

スロー クエリ ログ関数の例を見てみましょう。まず、CONFIG_SET コマンドを使用して、slowlog-log-slower-than オプションの値を 0 マイクロ秒に設定します。 Redis サーバーが記録されます。スロー クエリ ログで、slowlog-max-len オプションの値を 5 に設定して、サーバーが最大 5 つのスロー クエリ ログのみを保存できるようにします。クライアントを使用していくつかのコマンド リクエストを送信します。

redis> CONFIG SET slowlog-log-slower-than 0
OK

redis> CONFIG SET slowlog-max-len 5
OK
ログイン後にコピー

次に、SLOWLOG GET コマンドを使用して、サーバーによって保存されたスロー クエリ ログを表示します。

redis> SET msg "hello world"OK

redis> SET number 10086
OK

redis> SET database "Redis"OK
ログイン後にコピー

別の SLOWLOG GET 1 コマンドを実行すると、今回は、最後に実行された SLOWLOG GET コマンドがスロー クエリ ログに記録され、番号 0 の最も古いスロー クエリ ログが削除されたことがわかります。サーバー上のスロー クエリ ログの数は 5 のままです:

redis> SLOWLOG GET
1) 1) (integer) 4               #日志的唯一标识符(uid);  2) (integer) 1378781447      #命令执行时的UNIX时间戳;  3) (integer) 13              #命令执行的时长,以微秒计算;  4) 1) "SET"                  #命令以及命令参数;     2) "database"     3) "Redis"2) 1) (integer) 3
  2) (integer) 1378781439
  3) (integer) 10
  4) 1) "SET"     2) "number"     3) "10086"3) 1) (integer) 2
  2) (integer) 1378781436
  3) (integer) 18
  4) 1) "SET"     2) "msg"     3) "hello world"4) 1) (integer) 1
  2) (integer) 1378781425
  3) (integer) 11
  4) 1) "CONFIG"  2) "SET"  3) "slowlog-max-len"  4) "5"5) 1) (integer) 0
  2) (integer) 1378781415
  3) (integer) 53
  4) 1) "CONFIG"     2) "SET"     3) "slowlog-log-slower-than"     4) "0"
ログイン後にコピー

ログの一意の ID は、Redis サーバーの再起動時にのみリセットされます。これにより、ログの繰り返し処理を回避できます (たとえば、ログが再起動されるたびに電子メールを送信して通知することもできます)。新しい遅いクエリが発見されました)。

現在のログ数を表示するには、SLOWLOG LEN コマンドを使用します。

この値と thrower-max-len の違いに注意してください。1 つは現在のログの数で、もう 1 つは記録できるログの最大数です。

redis> SLOWLOG GET 1
1) 1) (integer) 5
  2) (integer) 1378781521
  3) (integer) 61
  4) 1) "SLOWLOG"     2) "GET"
ログイン後にコピー

ログのクリア

コマンド SLOWLOG RESET を使用して、スロー ログをクリアします。
えええええ

以上がRedis スロークエリログの使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!