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

Tair (Redis® OSS-Compatible):スロークエリログを活用したタイムアウト問題のトラブルシューティング

最終更新日:Mar 29, 2026

Tair (Redis OSS-compatible) における接続タイムアウトは、ほとんどの場合、実行に時間がかかるコマンド(スローコマンド)が原因です。スローログは、設定されたレイテンシーしきい値を超えるコマンドと、そのコマンドを送信したクライアントを特定できるため、パフォーマンス最適化の出発点として活用できます。

仕組み

スローログは、設定されたしきい値を超えて実行に要するコマンドを記録します。Tair では、2 種類のノードでスローログが生成され、それぞれ異なる方法でレイテンシーを計測します。

ノードタイプ実行時間の計測対象タイムアウト問題のトラブルシューティングに推奨
データノードデータノード上でのみコマンドを実行する時間。ネットワーク転送時間およびキュー待ち時間は含まれません。いいえ — 補足的な参照としてご活用ください
プロキシノードプロキシがデータノードへリクエストを送信してから応答を受信するまでの時間。データノードの実行時間、ネットワーク転送時間、およびキュー待ちレイテンシーを含みます。はい — アプリケーションが実際に観測するレイテンシーに最も近似します
説明

スタンダードインスタンスにはプロキシノードのスローログはありません。スタンダードインスタンスをご利用の場合、ステップ 3 に直接進み、データノードのスローログを分析してください。

説明

本トピックで説明する手法は、Redis Community Edition 2.8 インスタンスではサポートされていません。コンソールより「CloudDBA > スロークエリ」に移動し、当該インスタンスのスローログを表示してください。Redis Community Edition 2.8 インスタンスのスローログにはクライアントの IP アドレスは含まれません。

スローログの保持期間およびストレージ

データノードおよびプロキシノードのスローログは、いずれも 72 時間保持されます。保存されるエントリ数には制限はありません。

インスタンスのパフォーマンスが高いため、データノードでは通常、スロークエリログの生成件数は極めて少ないです。

パラメーター

データノードのパラメーター

パラメーターデフォルト値単位説明
slowlog-log-slower-than20000マイクロ秒このしきい値を超えるコマンドが記録されます。20,000 マイクロ秒は 20 ミリ秒に相当します。ただし、この値はネットワークおよびキュー待ち時間を除外したものですので、実際の観測レイテンシーは通常これよりも高くなります。
slowlog-max-len1024エントリ数保存されるスローログエントリの最大数です。

プロキシノードのパラメーター

パラメーターデフォルト値単位説明
rt_threshold_ms500ミリ秒このしきい値を超えるコマンドが記録されます。クライアント側のタイムアウト期間(200–500 ms)に近い値を設定することを推奨します。

これらのパラメーターを調整するには、「インスタンスのパラメーターを設定する」をご参照ください。

スローログの照会

データノードのスローログ

以下のいずれかの方法をご利用ください。

プロキシノードのスローログ

コンソールでログを表示するか、API を呼び出して取得します:スローログの照会 | DescribeSlowLogRecords

タイムアウト問題のトラブルシューティング

タイムアウトの原因となるコマンドを特定するには、以下の手順に従ってください。

  1. プロキシノードのスローログを確認します。 コンソールで「スローログの照会」を開き、[プロキシ] タブを選択します。

    • プロキシノードのスローログが存在しない場合、問題はコマンド実行ではなく、クライアントとインスタンス間のネットワークにある可能性が高いです。

    • スタンダードインスタンスをご利用の場合、ステップ 3 に進んでください。

  2. プロキシノードの最も古いスローログエントリを特定します。 最も古いエントリは、連鎖的に発生した遅延リクエストを引き起こしたコマンドを示します。そのエントリに記載されたクライアント IP アドレスにより、当該コマンドを送信したクライアントを特定できます。以下の例では、最も古いスローログエントリは KEYS コマンドに関するものです。エントリ右側に記載された IP アドレスが、当該コマンドを送信したクライアントです。

    説明

    データノード上でスローコマンドが蓄積すると、それらのコマンドはプロキシノードのスローログにも記録されます。

    Find the earliest slow log entry on the proxy node

  3. データノードのスローログで当該コマンドを検証します。 [データノード] タブに切り替え、同一のコマンドが記録されているか確認します。プロキシノードのスローログで最初に出現するコマンドは、通常、データノードのスローログにも記録されます。ただし、両ノードの計測定義およびしきい値が異なるため、データノードのスローログに記録されるエントリ数は、プロキシノードのものより少なくなります。以下の例では、プロキシノードのスローログに記録された KEYS コマンドが、データノードのスローログにも記録されています。他のプロキシノードのエントリは、データノードのエントリと一致しません。これにより、KEYS コマンドがタイムアウトの原因であることが確認されます。

    Verify the command in data node slow logs

  4. プロキシノードのスローログでクライアント IP アドレスを検索します。 ステップ 2 で特定したコマンドをフィルター条件として使用し、当該コマンドを送信しているすべてのクライアントを特定します。当該クライアントを管理するチームに連絡し、コマンドの使用方法を最適化してください。

次のステップ