すべてのプロダクト
Search
ドキュメントセンター

Tair (Redis® OSS-Compatible):低速クエリログの照会

最終更新日:Dec 06, 2024

Tair (Redis OSS-compatible) インスタンスのパフォーマンスを分析したり、低速クエリコマンドを特定したり、潜在的なパフォーマンスのボトルネックを特定したりする場合は、低速クエリログを調べることができます。 スロークエリログは、パフォーマンスの問題を解決し、クエリを最適化するための手がかりを明らかにします。 スロークエリログには、実行時間がslowlog-log-Slow-thanで指定されたしきい値を超えたコマンドが記録されます。 デフォルトでは、このしきい値は20ミリ秒に設定されます。 特定のニーズに合わせてこの値をカスタマイズできます。

概要

スロークエリログは、指定されたしきい値よりも時間がかかるリクエストを記録します。 低速クエリログは、データノードとプロキシノードの両方で生成できます。

説明

このトピックで提供されている低速クエリログのクエリ方法は、Redis Open-Source Edition 2.8インスタンスではサポートされていません。 コンソールで [CloudDBA] > スロークエリ を選択すると、そのようなインスタンスのスロークエリログを表示できます。 Redis Open-Source Editionのスロークエリログには、2.8インスタンスにクライアントIPアドレスなどの情報が含まれていません。

データノードの低速クエリログ

  • データノードで生成される低速クエリログで収集されるコマンド実行期間には、データノードでコマンドを実際に実行するのに必要な時間のみが含まれます。 データノードがプロキシノードまたはクライアントと通信するのに必要な時間と、シングルスレッドキュー内のコマンドの実行レイテンシは含まれません。

  • データノードの低速クエリログは72時間保持されます。 保存できるスロークエリログの数は無制限です。

  • ほとんどの場合、インスタンスのパフォーマンスが高いため、データノードで生成される低速クエリログはほとんどありません。

Parameters

パラメーター

説明

slowlog-log-slow-than

データノードのスロークエリログのコマンド実行時間のしきい値。 コマンドがこのしきい値を超える期間実行された場合、そのコマンドは低速クエリログに記録されます。 デフォルト値: 20000 単位:マイクロ秒。 20000マイクロ秒は20ミリ秒に等しい。

説明

ほとんどの場合、実際のレイテンシはこのパラメーターの指定された値よりも高くなります。これは、この値には、クライアント、プロキシノード、およびデータノード間でデータを送信および処理するのに必要な時間が含まれていないためです。

slowlog-max-len

保存できるスロークエリログエントリの最大数。 デフォルト値: 1024。

詳細は、「インスタンスパラメーターの設定」をご参照ください。

プロキシノードの低速クエリログ

  • プロキシノードのスロークエリログで収集されるコマンド実行期間は、プロキシノードがデータノードに要求を送信した時点から開始し、プロキシノードがデータノードから応答を受信した時点で終了します。 これには、データノードでのコマンド実行期間、ネットワークを介したデータ送信の期間、およびコマンドのキューイング待ち時間が含まれます。

  • プロキシノードの低速クエリログは72時間保持されます。 保存できるスロークエリログの数は無制限です。

  • ほとんどの場合、プロキシノードの低速クエリログに記録されるレイテンシ値は、アプリケーションの実際のレイテンシに近い値です。 したがって、タイムアウトの問題をトラブルシューティングするときは、このタイプのスロークエリログをチェックすることをお勧めします。

説明

標準インスタンスには、プロキシノードの低速クエリログは含まれません。

Parameters

パラメーター

説明

rt_threshold_ms

プロキシノードのスロークエリログのコマンド実行時間のしきい値。 デフォルト値: 500。 単位:ミリ秒。 しきい値は、クライアントのタイムアウト期間 (200ミリ秒から500ミリ秒) に近い値に設定することを推奨します。

詳細は、「インスタンスパラメーターの設定」をご参照ください。

手順

  1. コンソールにログインし、[インスタンス] ページに移動します。 上部のナビゲーションバーで、管理するインスタンスが存在するリージョンを選択します。 次に、インスタンスを見つけて、インスタンスIDをクリックします。

  2. 左側のナビゲーションウィンドウで、ログ管理 > スローログを選択します。

  3. [スローログ] ページで、スロークエリログを時間範囲またはキーワードでフィルタリングします。 クラスターおよび読み書き分離インスタンスの場合、スロークエリログをノードタイプとノードIDでフィルタリングすることもできます。

    説明

    デフォルトでは、クラスターインスタンスと読み書き分離インスタンスのデータベースに接続するホストアドレスパラメーターには、プロキシノードのIPアドレスが表示されます。 特定のクライアントのIPアドレスを取得するには、システムパラメーター セクションでptod_enabledパラメーターを1に設定します。 詳細については、「」「インスタンスパラメーターの設定」をご参照ください。

無関係な遅いSQL文

説明

特定の低速SQL文は、リクエストの実際の実行速度には関係ありませんが、インスタンスのエンジンロジックに関連しています。 次の低速SQL文は無視できます。

スローSQL文

説明

latency:eventloop

Tair (Redis OSS互換) は、実行時にイベント駆動モードを使用します。 イベントループは、コマンドの読み取り、解析、実行、および出力の戻りで構成されます。 latency:eventloopステートメントの実行時間は、イベントループに必要な全体の時間を示します。

latency: パイプライン

Tair (Redis OSS互換) では、クライアントをパイプラインモードで動作させることができます。 このモードでは、クライアントはコマンドを送信し、出力をバッチで受信します。 すべてのコマンドが実行されると、出力が返されます。 インスタンスがクラスターアーキテクチャを使用している場合、プロキシノードはパイプラインモードを使用してバックエンドデータノードにリクエストをバッチで送信します。 latency:pipelineステートメントの実行時間は、クライアントからのすべての要求をパイプラインモードで処理するのに必要な全体の時間を示します。

latency: フォーク

latency:forkステートメントの実行期間は、子プロセスのフォークに必要な時間を示します。 データの量が多いほど、必要な時間は長くなります。

関連する API 操作

API 操作

説明

DescribeSlowLogRecords

指定された期間に生成されたインスタンスのスロークエリログを照会します。

関連ドキュメント

スロークエリログを使用したタイムアウトの問題のトラブルシューティング