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

E-MapReduce:クエリプロファイル

最終更新日:Jun 22, 2026

クエリプロファイルは、クエリに関わるすべてのワーカーノードから実行情報を取得します。クエリプロファイルを使用すると、視覚的な分析を通じて StarRocks インスタンスのクエリのパフォーマンスボトルネックを素早く特定できます。

クエリプロファイルの有効化

インスタンスのクエリプロファイルを有効にするには、enable_profile 変数を true に設定します。

SET enable_profile = true;
説明
  • インスタンスがカーネルバージョン 2.5.13 以降 (2.x シリーズ) または 3.1.5 以降 (3.x シリーズ) を使用している場合、クエリパフォーマンスに影響を与えることなく、クエリプロファイルをグローバルに有効にできます。

  • 上記よりも前のカーネルバージョンの場合は、クエリパフォーマンスの低下を避けるため、クエリプロファイルを有効にする前にカーネルをアップグレードしてください。

クエリプロファイルの構造

クエリプロファイルは、次の 5 つのパートで構成されています:

  • フラグメント:実行ツリーです。クエリは 1 つ以上のフラグメントで構成されています。

  • フラグメントインスタンス:フラグメントは複数のインスタンスを持つことができ、それぞれフラグメントインスタンスと呼ばれます。それぞれが、異なるコンピューティングノード上で実行されます。

  • パイプライン:実行チェーンです。パイプラインは一連のオペレーターで構成されています。フラグメントインスタンスは、1 つ以上のパイプラインに分割されます。

  • パイプラインドライバー:パイプラインは複数のインスタンスを持つことができ、それぞれパイプラインドライバーと呼ばれます。これにより、複数のコアを最大限に活用できます。

  • オペレーター:パイプラインのコンポーネントです。パイプラインは複数のオペレーターで構成されています。

クエリプロファイルの可視化

StarRocks Manager は、クエリプロファイルをツリー構造で可視化します。各ノードは集約されたオペレーターを表します。オペレーターをクリックすると、ページ右側のタブにその詳細が表示されます。オペレーターが選択されていない場合、右側にはクエリの概要が表示されます。

実行の概要

実行詳細ページでは、左側に視覚的な実行計画ツリーが表示されます。各オペレーターノードには、実行時間とパーセンテージが表示されます。HASH_JOIN のように多くの時間を消費するノードは、赤色でハイライト表示されます。ノード間の線は、処理された行数を示します。右側では、上部のセクションに時間の割合でソートされたノードのリストが表示され、下部のセクションにはサマリーメトリクスの概要が表示されます。

[Execution Details]ページには、実行時間、I/O パフォーマンス、ネットワークデータ転送量などの主要なサマリーメトリクスが表示されます。

  • 合計

    メトリクス

    説明

    Total

    クエリの総消費時間です。これには、計画、実行、分析の各フェーズの期間が含まれます。

    PlannerTotalTime

    計画時間です。これには、SQL の解析、分析、最適化、および実行計画の生成が含まれます。

    ExecutionWallTime

    クエリの実行時間と BE 側の実行時間 (実行のウォールクロック時間) です。

    CollectProfileTime

    プロファイルの収集時間です。これは、BE からプロファイルメトリクスを収集するために費やされた時間です。

  • 実行時間

    メトリクス

    説明

    ExecutionWallTime

    クエリ実行で消費された合計時間です。

    CumulativeCpuTime

    すべての BE ノードにおける CPU 時間の合計です。これは、総 CPU リソース消費量を反映しています。

    CpuUtilization

    CPU 使用率 = CumulativeCpuTime / ExecutionWallTime。これは、使用された CPU コアの平均数を示します。

    CumulativeWaitTime

    パイプラインの累積待機時間です。これには、スケジューリング待機時間 (ScheduleTime) や、空の入力キュー、満杯の出力キュー、または準備ができていない依存関係などの条件によるブロッキング時間 (PendingTime) が含まれます。

    OperatorCumulativetime

    すべてのオペレーターの実行時間の合計です。これには、I/O、ネットワーク、および計算が含まれます。

    IO

    すべての Scan オペレーターの累積 I/O 時間です。これには、ローカルディスクの読み取り、リモート読み取り、およびデータキャッシュアクセスが含まれます。

  • I/O

    メトリクス

    説明

    RawRowsRead

    すべての SCAN ノードによってスキャンされたレコードの総数です。

    DiskReadBytes

    すべての SCAN 実行ノードによって読み取られた圧縮データの合計量です。

    LocalDiskReadBytes

    すべての Connector Scan 実行ノードによってローカルキャッシュから読み取られた圧縮データの合計サイズです。このメトリクスは、データ共有インスタンスにのみ適用されます。

    RemoteReadBytes

    すべての Connector Scan 実行ノードによって OSS から読み取られた圧縮データの合計サイズです。このメトリクスは、データ共有インスタンスにのみ適用されます。

    ResultRows

    すべての SCAN 実行ノードによって出力されたレコードの総数です。

    ResultBytes

    すべての SCAN 実行ノードによって出力されたデータの合計量です。

  • ネットワーク

    メトリクス

    説明

    Bytes sent over network

    すべての Exchange 実行ノードによって転送されたバイトの総数です。これは BytesSent メトリクスに対応します。

オペレーター

オペレーターをクリックすると、ページ右側に以下の情報が表示されます:

  • コアメトリクス タブ:オペレーターのコアメトリクスを表示します。

  • ノードメトリクス タブ:オペレーターのすべてのメトリクスを表示します。

  • パイプライン タブ:オペレーターを含むパイプラインのメトリクスを表示します。これらのメトリクスはスケジューリングにのみ関連しており、特に注意を払う必要はありません。

説明
  • オペレーターが費やす時間の割合が大きいほど、その色は濃くなります。実行時間が最も長い上位 3 つのノードは色分けされています。これにより、クエリボトルネックを容易に特定できます。

  • マウスホイールをスクロールするか、ズームボタンをクリックして、プロファイルツリーを拡大・縮小してください。

キーメトリクス

クエリレベル

  • サマリーメトリクス

    メトリック

    説明

    合計

    プランニング、実行、プロファイリングの各フェーズで費やした時間を含んだ、クエリの合計経過時間です。

    QueryCpuCost

    クエリが消費した累積 CPU 時間です。この値はすべての同時実行プロセスの CPU 時間の合計であるため、実際の実行時間を超えることがあります。

    QueryMemCost

    クエリが消費した合計メモリです。

    変数

    クエリに関連付けられた変数です。

  • パイプラインレベル

    メトリック

    説明

    ActiveTime

    ドライバーの実行時間です。

    DriverTotalTime

    ドライバーが消費した合計時間です。

    PendingTime

    ドライバーが入力と前提条件を待機する時間です。

オペレーターレベル

  • 一般的なオペレーターメトリック

    メトリック

    説明

    OperatorTotalTime

    オペレーターの総実行時間。

    PushRowNum

    オペレーターが出力した総行数。

    PullRowNum

    オペレーターへの総入力行数。

    PullChunkNum

    オペレーターへの総入力チャンク数。

    PushChunkNum

    オペレーターが出力した総チャンク数。

    PeakMemoryUsage

    オペレーターのピークメモリ使用量。

  • OLAP Scan オペレーター

    メトリック

    説明

    Table

    テーブル名。

    ScanTime

    非同期 I/O スレッドプールで実行される、スキャン操作の合計時間。

    TabletCount

    スキャンされたタブレットの数。

    PushdownPredicates

    プッシュダウン述語の数。

    BytesRead

    読み取られたデータ量。

    CompressedBytesRead

    読み取られた圧縮データ量。

    IOTime

    合計 I/O 時間。

    BitmapIndexFilterRows

    ビットマップインデックスでフィルター処理された行数。

    BloomFilterFilterRows

    ブルームフィルターでフィルター処理された行数。

    SegmentRuntimeZoneMapFilterRows

    ランタイムゾーンマップでフィルター処理された行数。

    SegmentZoneMapFilterRows

    ゾーンマップでフィルター処理された行数。

    ShortKeyFilterRows

    ショートキーでフィルター処理された行数。

    ZoneMapIndexFilterRows

    ゾーンマップインデックスでフィルター処理された行数。

  • Connector Scan オペレーター

    これらのメトリックは OLAP Scan オペレーターのメトリックに追加され、コンピューティングとストレージの分離インスタンスに適用されます。

    メトリック

    説明

    CompressedBytesReadLocalDisk

    コンピューティングノードのローカルキャッシュから読み取られた圧縮データ量。

    CompressedBytesReadRemote

    OSS から読み取られた圧縮データの合計量。

    IOTimeLocalDisk

    ローカルキャッシュからデータを読み取る際の I/O 操作に費やされた時間。

    IOTimeRemote

    OSS からデータを読み取る際の I/O 操作に費やされた時間。

  • Exchange オペレーター

    • Sink

      メトリック

      説明

      PartType

      データ分散モード。有効な値: UNPARTITIONEDRANDOMHASH_PARTITIONEDBUCKET_SHUFFLE_HASH_PARTITIONED

      BytesSent

      送信されたデータ量。

      OverallThroughput

      全体的なデータ転送スループット。

      NetworkTime

      パケットの送信に費やされた時間。受信後の処理時間は含まれません。

      WaitTime

      送信側のキューが満杯であるために待機した時間。

      NetworkBandwidth

      データ転送中に計算されたネットワーク帯域幅。

    • Source

      メトリック

      説明

      SenderWaitLockTime

      送信側がロックを待機した合計時間。

      BytesReceived

      受信したデータ量。

      DecompressChunkTime

      データ チャンクの展開に費やされた合計時間。

      DeserializeChunkTime

      データ チャンクのデシリアライズに費やされた合計時間。

      SenderTotalTime

      送信側が費やした合計時間。

  • Aggregate オペレーター

    メトリック

    説明

    GroupingKeys

    GROUP BY 句で使用される列。

    AggregateFunctions

    適用された集計関数。

    AggComputeTime

    集計関数の計算に費やされた時間。

    ExprComputeTime

    式の計算に費やされた時間。

    HashTableSize

    集計用ハッシュテーブルのサイズ。

  • Join オペレーター

    • プローブ

      メトリック

      説明

      DistributionMode

      データ分散モード。

      JoinType

      Join タイプ。

      OtherJoinConjunctEvaluateTime

      他の Join 述語の評価に費やされた時間。

      ProbeConjunctEvaluateTime

      プローブ述語の評価に費やされた時間。

      SearchHashTableTime

      ハッシュテーブルの検索に費やされた時間。

      WhereConjunctEvaluateTime

      WHERE 述語の評価に費やされた時間。

    • ビルド

      メトリック

      説明

      JoinPredicates

      Join 条件で使用される述語。

      JoinType

      Join タイプ。

      BuildBuckets

      Join 用ハッシュテーブルのバケット数。

      BuildHashTableTime

      Join 用ハッシュテーブルの構築時間。

      RuntimeFilterBuildTime

      ランタイムフィルターの構築に費やされた時間。

      RuntimeFilterNum

      ランタイムフィルターの数。

      DistributionMode

      データ分散モード。

  • Window Function オペレーター

    メトリック

    説明

    ComputeTime

    ウィンドウ関数の計算に費やされた時間。

    PartitionKeys

    ウィンドウのパーティション分割に使用されるキー。

    AggregateFunctions

    適用された集計関数。

  • Sort オペレーター

    メトリック

    説明

    SortKeys

    ソートキー。

    SortType

    ソート方法。例:フルソート、トップ N ソート。

    MergingTime

    ソート済みデータのランをマージするために費やされた時間。

    SortingTime

    データのソートに費やされた時間。

  • TableFunction オペレーター

    メトリック

    説明

    TableFunctionExecTime

    テーブル関数の計算に費やされた時間。

    TableFunctionExecCount

    テーブル関数が実行された回数。

  • Project オペレーター

    メトリック

    説明

    ExprComputeTime

    式の計算に費やされた時間。

    CommonSubExprComputeTime

    共通部分式の計算に費やされた時間。

  • LocalExchange オペレーター

    メトリック

    説明

    Type

    ローカル交換タイプ。有効な値: PassthroughPartitionBroadcast

    ShuffleNum

    シャッフルの数。このメトリックは、 TypePartition の場合にのみ適用されます。