Redis は、slowlog を使用してクエリ実行時間ログ システムを記録します。このクエリ実行時間には、クライアントの応答 (通話) や応答の送信などの IO 操作は含まれず、クエリ コマンドの実行に費やされた時間のみが含まれることに注意してください。
slowlog はメモリに保存され、読み取りと書き込みの速度が非常に速いため、slowlog を有効にすることで Redis の速度が損なわれることを心配することなく、安心して使用できます。
slowlog には 2 つの重要な設定があります。最初に CONFIG GET throwlog-* コマンドを使用して、既存の設定を表示します。
slowlog-log-swer-than は、遅いクエリのしきい値をマイクロ秒単位で示します。クエリ コマンドの実行時間が設定された制限しきい値を超えると、コマンドはスロー クエリ ログに記録されます。 lowlog-log-swer-than=0 の場合、すべてのコマンドをログに記録します。 lowlog-log-swer-than の値が 0 以下の場合、コマンドはログに記録されません。 lowlog-log-swer-than のデフォルト値は 10000 (10 ミリ秒、1 秒 = 1,000 ミリ秒 = 1,000,000 マイクロ秒) です。
slowlog-max-len は、スロー クエリ ログの最大数を表します。これは先入れ先出しキューの保存構造であり、スロー クエリのログ エントリ数が上限に達すると、記録された最も古いログ エントリが破棄されます。 lowlog-max-len のデフォルト値は 128 で、メモリに保存されるため、redis を再起動するとスロークエリログがクリアされます。
slowlog-log-swer-than および throwlog-max-len を設定するコマンドは、次のように非常に簡単です。
#SLOWLOG LEN コマンドを使用して、次のことを行います。現在のスロー クエリ ログ レコードの数をクエリします。 最初のいくつかのスロー クエリ レコードのみをクエリする必要がある場合は、SLOWLOG GET [n] コマンドを使用できます。 SLOWLOG GET [n] n を追加しない場合、すべてのスロー クエリ レコードが取得されます。 SLOWLOG RESET を使用してスロー クエリ ログをクリアします。設定が大きすぎるとレコードが記録されなくなる可能性があるため、slowlog-log-slow-than の設定が大きすぎないように注意してください。以上がRedis でのスローログの用途は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。