Profile查询分析

Query Profile记录了查询中涉及的所有工作节点的执行信息。当前Serverless StarRocks针对您提供的所有Query已默认开启Profile,并通过StarRocks Manager页面对Profile进行了可视化的展示,方便您快速识别影响StarRocks实例查询性能的瓶颈。本文为您介绍如何查看并分析Query Profile。

Query Profile结构

Query Profile由以下三部分组成:

  • Fragment:执行树。一个查询由一个或多个Fragment组成。

  • Pipeline:执行链。执行链没有分支。一个Fragment可分为多个Pipeline。

  • Operator:算子。一个Pipeline由多个Operator组成。

可视化Query Profile

StarRocks Manager可视化了Query Profile,整个Profile对应一棵树形结构,树的节点代表聚合后的Operator。单击Operator,可以在页面右侧的选项卡中查看其详细信息;未选中Operator时,右侧展示Query的概览信息。

执行概览

执行概览页面为您展示一些Summary指标,包含总执行时间ExecutionWallTime、I/O指标、网络传输大小以及CPU和I/O耗时比例。

overview

Operator

单击Operator,可以在页面右侧查看以下内容:

  • 节点页签:展示该Operator的核心指标。

  • 节点详情页签:展示该Operator的所有指标。

  • Pipeline页签:展示该Operator所属Pipeline指标。该页签的指标仅与调度相关,您无需过多关注。

说明
  • Operator花费的时间比例越大,其对应颜色就越深(支持对执行耗时排名前三的节点标注颜色)。您可以借此轻松确认查询的瓶颈。

  • 通过鼠标滚动,或单击放大缩小按钮,可以放大和缩小Profile树。

重要指标

Query级别

  • Summary指标

    指标

    说明

    Total

    查询消耗的总时间,包括Planning、Executing和Profiling阶段的耗时。

    QueryCpuCost

    查询累积CPU使用时间。所有并发进程累加,因此该指标会大于实际的执行时间。

    QueryMemCost

    查询总内存消耗。

    Variables

    查询相关的变量。

  • Pipeline级别

    指标

    说明

    ActiveTime

    Driver执行时间。

    DriverTotalTime

    Driver消耗的总时间。

    PendingTime

    Driver因为输入或者前置条件不满足等待的时间。

Operator级别

  • Operator通用指标和Chunk Accumulate

    指标

    说明

    OperatorTotalTime

    Operator消耗的总时间。

    PushRowNum

    Operator累积输出行数。

    PullRowNum

    Operator累积输入行数。

    PullChunkNum

    Operator累积输入Chunk数。

    PushChunkNum

    Operator累积输出Chunk数。

    PeakMemoryUsage

    Operator最大内存使用量。

  • Scan Operator

    指标

    说明

    Table

    表名称。

    ScanTime

    Scan累计时间。Scan操作在异步I/O线程池中完成。

    TabletCount

    Tablet数量。

    PushdownPredicates

    下推的谓词数量。

    BytesRead

    读取数据的大小。

    CompressedBytesRead

    读取压缩数据的大小。

    IOTime

    累计I/O时间。

    BitmapIndexFilterRows

    Bitmap索引过滤的数据行数。

    BloomFilterFilterRows

    Bloomfilter过滤的数据行数。

    SegmentRuntimeZoneMapFilterRows

    Runtime Zone Map过滤的数据行数。

    SegmentZoneMapFilterRows

    Zone Map过滤的数据行数。

    ShortKeyFilterRows

    Short Key过滤的数据行数。

    ZoneMapIndexFilterRows

    Zone Map索引过滤的数据行数。

  • Exchange Operator

    • Sink

      指标

      说明

      PartType

      数据分布模式,包括UNPARTITIONED、RANDOM、HASH_PARTITIONED和BUCKET_SHUFFLE_HASH_PARTITIONED。

      BytesSent

      发送的数据大小。

      OverallThroughput

      吞吐速率。

      NetworkTime

      数据包传输时间(不包括接收后处理时间)。

      WaitTime

      由于发送端队列满而导致的等待时间。

      NetworkBandwidth

      网络带宽。

    • Source

      指标

      说明

      SenderWaitLockTime

      等锁时间。

      BytesReceived

      接收的数据大小。

      DecompressChunkTime

      解压时间。

      DeserializeChunkTime

      反序列化时间。

      SenderTotalTime

      发送总时间。

  • Aggregate Operator

    指标

    说明

    GroupingKeys

    GROUP BY列。

    AggregateFunctions

    聚合函数。

    AggComputeTime

    聚合函数计算耗时。

    ExprComputeTime

    表达式计算耗时。

    HashTableSize

    Hash Table大小。

  • Join Operator

    • Probe

      指标

      说明

      DistributionMode

      数据分布模式。

      JoinType

      Join类型。

      OtherJoinConjunctEvaluateTime

      其他JoinConjunct耗时。

      ProbeConjunctEvaluateTime

      Probe Conjunct耗时。

      SearchHashTableTime

      查询Hash Table耗时。

      WhereConjunctEvaluateTime

      Where Conjunct耗时。

    • Build

      指标

      说明

      JoinPredicates

      Join谓词。

      JoinType

      Join类型。

      BuildBuckets

      Hash Table的Bucket数量。

      BuildHashTableTime

      构建Hash Table耗时。

      RuntimeFilterBuildTime

      Runtime Filter构建时间。

      RuntimeFilterNum

      Runtime Filter个数。

      DistributionMode

      数据分布模式。

  • Window Function Operator

    指标

    说明

    ComputeTime

    窗口函数计算耗时。

    PartitionKeys

    分区列。

    AggregateFunctions

    聚合函数。

  • Sort Operator

    指标

    说明

    SortKeys

    排序键。

    SortType

    查询结果排序方式:全排序或者排序Top N个结果。

    MergingTime

    数据合并耗时。

    SortingTime

    数据排序耗时。

  • TableFunction Operator

    指标

    说明

    TableFunctionExecTime

    Table Function计算耗时。

    TableFunctionExecCount

    Table Function执行次数。

  • Project Operator

    指标

    说明

    ExprComputeTime

    表达式计算耗时。

    CommonSubExprComputeTime

    公共子表达式计算耗时。

  • LocalExchange Operator

    指标

    说明

    Type

    Local Exchange类型,包括:Passthrough、Partition以及Broadcast。

    ShuffleNum

    Shuffle数量。该指标仅当Type为Partition时有效。

阿里云首页 开源大数据平台E-MapReduce 相关技术圈