メインコンテンツまでスキップ

Top N Analysis

Top N Analysis 画面では、指定した期間にSingleStoreクラスターで実行されたクエリ、ノード、データベースを対象に、選択したパフォーマンス指標を基準に上位N件の項目を確認し、時間帯別の推移を分析できます。

左側メニューで Database > SingleStore > Top N Analysis を選択してください。

Top N Analysis 全体画面

画面はトレンドチャートとTop Query一覧の2つのエリアで構成されます。

フィルターバーで照会条件を設定する​

画面上部のフィルターバーで分析範囲と集計基準を設定した後、[Search] をクリックすると結果が更新されます。

  • Period: 分析する期間と時間範囲を設定します。
  • Group: 照会対象のインスタンスグループを選択します。
  • Instance: 分析対象のSingleStoreクラスターを選択します。
  • Group by: 集計基準を選択します。Query、Node、DB のいずれかを選択すると、下の一覧とチャートがその単位で表示されます。
  • Order By: 上位N件を選定する基準指標を選択します。
  • Top: 表示する上位項目数を入力します(デフォルト20)。
  • [Option]: Activity Type を追加でフィルタリングします。クリックするとポップアップが開き、希望する種類を選択した後、[Apply] をクリックしてください。

Group by オプション​

Group by ドロップダウンで集計基準を選択します。

オプション説明
Queryクエリテキスト単位で集計します。個別のSQL文のリソース使用量を比較する際に使用します。
Nodeクラスターを構成するノード単位で集計します。特定のノードに負荷が集中しているか把握する際に有用です。
DBデータベース単位で集計します。データベース別のリソース使用分布を確認する際に使用します。

Order By 指標を選択する​

Order By ドロップダウンで上位N件を選定する基準指標を選択します。

オプション説明
Elapsed Time総経過時間を基準に並べ替えます。
CPU TimeCPU使用時間を基準に並べ替えます。
Disk TimeディスクI/O処理に要した時間を基準に並べ替えます。
Network Timeネットワーク転送に要した時間を基準に並べ替えます。
Memory Useメモリ使用量を基準に並べ替えます。
Disk I/OディスクI/Oサイズを基準に並べ替えます。
Network I/OネットワークI/Oサイズを基準に並べ替えます。
Execution Count実行回数を基準に並べ替えます。

Activity Type フィルターを適用する​

[Option] をクリックするとポップアップが開き、Activity Type をさらに絞り込むことができます。

オプション説明
Allすべての活動タイプを含めます。
Databaseユーザーデータベースで実行された活動のみ含めます。
Systemシステム内部活動(information_schema など)のみ含めます。
Query一般クエリ活動のみ含めます。

設定が完了したら [Apply] をクリックするとフィルターが適用されます。[Reset] をクリックするとデフォルト値に初期化されます。

トレンドチャートで指標の推移を確認する​

トレンドチャートは、Order By で選択した指標の時間帯別変化を面グラフで表示します。

  • 青色エリア(Total Elapsed Time など): 上位N件の項目全体の指標合計の推移を示します。
  • 緑色エリア: 下の一覧で行をクリックした際に、該当項目の指標推移を示します。
  • 右上 [Retry] をクリックすると、チャートデータを再照会します。

合計(青色)と個別項目(緑色)を並べて比較すると、特定のクエリやノードが全体の負荷にどれほど寄与しているか把握するのに有用です。

Top Query 一覧で上位項目を分析する​

照会期間中、選択した指標を基準にリソース使用が最も高い上位N件の項目を一覧で表示します。Group by の選択に応じて、一覧のタイトルとカラム構成が変わります。

Group by を Query に設定した際に表示される主なカラムは次のとおりです。

  • Query Text: 実行されたSQL文です。セルをクリックするとSQL Full Textポップアップが開き、クエリの全文を確認してコピーできます。
  • Aggregator Activity Name: 同一クエリパターンを識別するための集計名称です。パラメーターが異なっても同一パターンとしてまとめられたクエリは同じ値を共有します。セルをクリックすると右側に詳細パネルが開きます。
  • Database Name: クエリが実行されたデータベース名です。
  • Activity Type: クエリの活動タイプです。
  • 以降のカラムは CPU Time (ms)、CPU Wait Time (ms)、Elapsed Time (ms)、Lock Row Time (ms)、Lock Time (ms)、Disk Time (ms)、Network Time (ms)、Log Buffer Time (ms)、Log Flush Time など各ステージに要した時間指標で構成されます。

一覧上部のフィルター入力欄にテキストを入力すると、カラム値を基準に素早くフィルタリングできます。OR/AND ボタンで複数条件の結合方式を切り替えます。

右上の Sum/Avg トグルで数値カラムの集計方式を合計と平均の間で切り替えることができます。

経過時間が高いクエリを Order By > Elapsed Time で先に見つけた後、同一クエリを CPU Time や Disk Time で再照会すると、CPU集約的な処理なのかディスクI/Oのボトルネックなのか、原因をより具体的に絞り込むことができます。

参考

Group by を Node や DB に切り替えると、一覧がノード単位またはデータベース単位で再集計されて表示されます。同一の Order By 指標と Top の値がそのまま適用されます。

詳細パネルでSQLを分析する​

Top Query 一覧で Aggregator Activity Name セルをクリックすると、画面右側に詳細パネルが開きます。

Top N Analysis 詳細パネル

詳細パネル上部には対象SQLの集計名称と [Slide History] ボタン、閉じるアイコンが表示されます。[Slide History] をクリックすると、以前に照会した項目の一覧を確認して再訪できます。

パネル上部の情報エリアには照会期間(Date)と Aggregator Activity Name が表示されます。

Node Stat タブ​

デフォルトで選択されるタブで、該当SQLが実行されたノード別のクエリ統計をグリッドで表示します。

  • Host: クエリが実行されたノードのホストアドレスです。
  • Port: ノードのポート番号です。
  • Type: ノードタイプです。MA(Master Aggregator)はクエリを受信・分配するアグリゲーターノードで、LEAF は実際のデータを格納・処理するリーフノードです。
  • Node ID: クラスター内のノード識別番号です。
  • Query Text: 該当ノードで実行されたSQL文です。
  • Activity Name: ノードでの活動名称です。

MAノードとLEAFノードを区別して確認することで、アグリゲーターで分散実行コストが発生しているか、特定のリーフノードに処理が集中しているかを把握できます。

Full Text タブ​

選択したSQLの全テキストを構文ハイライトで表示します。[Formatting] ボタンをクリックするとSQLが見やすくインデント・整形され、右上のコピーアイコンで全文をクリップボードにコピーできます。

Trend タブ​

選択したSQLの時間帯別推移を次の指標別チャートで表示します。

  • Elapsed Time: 経過時間の推移です。
  • Disk I/O: ディスク入出力量の推移です。
  • Network I/O: ネットワーク入出力量の推移です。
  • Executions: 実行回数の推移です。

各チャートはノードタイプ別(Aggregator、LEAF)に区分されたラインで表示され、特定のノードグループで指標が急騰する時点を把握するのに有用です。パネル上部の期間セレクターで照会範囲を変更できます。

History タブ​

選択したSQLの過去実行履歴を時系列で表示します。履歴の照会により、パフォーマンス低下が特定の時点から発生したのか、周期的に繰り返されるパターンなのかを確認できます。

Plan タブ​

選択したSQLのクエリ実行計画を表示します。

参考

Plan タブで実行計画を確認するには、SingleStoreの enable_disk_plan_explain 設定が有効になっている必要があります。設定が無効の場合、"No query results found. Please check the enable_disk_plan_explain setting." のメッセージが表示されます。