大規模呼び出しリクエスト検出
大規模なクエリリクエストとは、不適切に指定されたクエリ条件により 100 個以上のデータブロックをスキャンするリモートプロシージャコール (RPC) リクエストのことを指します。このようなリクエストは CPU および I/O リソースを大量に消費し、システムのスループットを低下させる可能性があります。
Lindorm インスタンスのクラスター管理システムにある 大規模呼び出しリクエスト検出 ツールを使用して、インスタンスまたはノードレベルで大規模なクエリリクエストを特定し、パフォーマンスの問題を迅速に調査・解決してください。
前提条件
作業を開始する前に、以下の条件を満たしていることを確認してください。
Lindorm インスタンスのクラスター管理システムにログインしています。詳細については、「クラスター管理システムにログインする」をご参照ください。
大規模なクエリリクエストの検出
クラスター管理システムの左側のナビゲーションウィンドウで、 を選択します。
idc、Group、および Server など、クエリ条件を設定します。
Query をクリックします。
結果の解釈
クエリ結果には、以下のパラメーターが含まれます。
| パラメーター | 説明 |
|---|---|
| リクエスト詳細 | 大規模なクエリリクエストに関する詳細情報(発行時刻やリクエスト内容など)。 |
| サンプリング時刻 | 大規模なクエリリクエストが発行された時刻。 |
結果が返されない場合は、選択したノードに大規模なクエリリクエストが存在しません。
TopRegion 分析
このトピックでは、クラスター管理システムでホットリージョン分析結果を表示する方法について説明します。
前提条件
Lindorm インスタンスのクラスター管理システムにログイン済みであること。詳細については、「クラスター管理システムへのログイン」をご参照ください。
背景情報
データベース操作において、ファイル数が多いとリクエストの遅延が増加します。同時に、トラフィックのディストリビューションが不均等になると特定のノードが過負荷となり、ホットスポットが発生します。これにより、システム全体のパフォーマンスが低下し、通常の運用が妨げられる可能性があります。クラスター管理システムにはトラフィック診断機能が備わっており、ホットスポットの特定およびホットリージョンの位置特定に役立ちます。
TopRegion リアルタイム分析
リアルタイム分析を実行して、ホットリージョンをクエリできます。
クラスター管理システムの左側ナビゲーションウィンドウで、 を選択します。
IDC、Group、Node、sort dimension、および Table Name など、フィルター条件を設定します。
以下の表は、ソートディメンションについて説明しています。
ディメンション
単位
説明
Total requests
Requests/second
各リージョンの 1 秒あたりのリクエスト数。
Read requests
Requests/second
各リージョンの 1 秒あたりの読み取りリクエスト数。
Write requests
Requests/second
各リージョンの 1 秒あたりの書き込みリクエスト数。
region size
MB
リージョンのサイズ。
number of files
Count
各リージョン内のファイル総数。
read response time
ms
各リージョンにおける読み取り操作の平均応答時間。
write response time
ms
各リージョンにおける書き込み操作の平均応答時間。
Memstore Size
MB
Memstore 内のデータサイズ。
Total request data volume
KB/s
各リージョンの 1 秒あたりのリクエストデータ量合計。
Read data volume
KB/s
各リージョンの 1 秒あたりの読み取りリクエストデータ量。
Write data volume
KB/s
各リージョンの 1 秒あたりの書き込みリクエストデータ量。
説明順位 テキストボックスに、クエリ結果に表示するレコード数を入力します。
table aggregation を有効にして、集約データを表示します。
昇順 を有効にして、結果を昇順にソートします。
Query をクリックします。
例として、sort dimension を
Read requestsに設定し、順位 を5に設定し、さらに 昇順 スイッチおよび table aggregation スイッチを有効にしたクエリを考えてみます。このクエリでは、まず 1 秒あたりの読み取りリクエスト数が最も多い上位 5 つのリージョンを特定します。次に、同じテーブルに属するリージョンをグループ化します。最後に、読み取りリクエスト数の昇順で集約結果をソートします。
TopRegion 履歴スナップショット
過去の特定時点におけるホットリージョンをクエリするために、履歴スナップショットを使用できます。
IDC、Group、および 履歴スナップショット を選択します。
説明履歴スナップショット は特定の時点を表します。スナップショットは 30 秒間隔で取得されます。
Query をクリックします。
クエリ結果は、以下の 2 つのセクションに分かれています。
Top Requests:指定された期間内で総リクエスト数が最も多いテーブルとその対応するリージョン。デフォルトでは、上位 10 件のテーブルが表示されます。
Top Data Volume:指定された期間内で総データ量が最大のテーブルとその対応するリージョン。デフォルトでは、上位 10 件のテーブルが表示されます。
(オプション)テーブル名の横にある
アイコンをクリックして、そのテーブルのリージョン詳細を表示します。
クライアントトレース
Lindorm テーブルに予期しない書き込みトラフィックが到着した場合、未知のクライアントから名前空間にアクセスされた場合、またはご利用のインスタンスに接続しているアプリケーションを監査する必要がある場合は、クライアントトレースを使用してそのソースを特定します。
クライアントトレースには、以下の 2 つのトレースディメンションがあります。
User dimension:特定のデータベースユーザーの最終リクエスト時刻およびクライアント詳細を表示します。調査対象のユーザーアカウントが既知の場合に使用します。
Node, namespace, or table dimension:特定のノードグループ、名前空間、またはテーブルに対して読み取りおよび書き込み操作を実行しているクライアントの IP アドレスを表示します。ユーザーアカウントではなくクラスターの場所に基づいてアクセスをトレースする必要がある場合に使用します。
前提条件
作業を開始する前に、以下の条件を満たしていることを確認してください。
Lindorm インスタンスのクラスター管理システムにログイン済みであること。詳細については、「クラスター管理システムにログインする」をご参照ください。
ユーザー別クライアントトレース
特定のデータベースユーザーがどのクライアントから接続しており、その接続がいつ最後に行われたかを確認したい場合は、ユーザー別ディメンションを使用します。
クラスター管理システムの左側ナビゲーションウィンドウで、 を選択します。
User dimension client trace セクションで、user ドロップダウンリストからトレース対象のユーザーを選択します。
Trace をクリックします。
結果には、以下のフィールドが含まれます。
| フィールド | 説明 |
|---|---|
| Username | リクエストを開始したデータベースユーザー。 |
| Client addr | リクエストを開始したクライアントの IP アドレス。 |
| Client version | リクエストを開始するために使用されたクライアントのバージョン。 |
| Last contact time | このクライアントからの最新リクエストのタイムスタンプ。 |
ノード・名前空間・テーブル別クライアントトレース
どのユーザーアカウントからリクエストが開始されたかに関係なく、特定のノードグループ、名前空間、またはテーブルにリクエストを送信しているクライアントの IP アドレスを特定する必要がある場合は、このディメンションを使用します。
Node, namespace, table dimension client trace セクションで、フィルター条件 (idc、Group、および node) を設定します。
(オプション)namespace フィールドに名前空間名を、table フィールドにテーブル名を入力して、結果を絞り込みます。
Trace をクリックします。
結果には、フィルター条件に一致するリクエストを送信したすべてのクライアントの IP アドレスが表示されます。