Presto中Execution time, Elapsed Time, Wall Time, CPU Time的理解

一. 查询端到端相关的时间

图中①所示的时间是execution time,是查询从开始调度(planning)到查询执行结束的端到端时间,包括planning,scheduling,running和下游将数据拉走的时间。如果客户端不及时拉走数据,该时间也会增加。

图中②所示的时间是Elapsed Time,是coordinator接收到查询到查询完全结束的端到端时间。相比于①,此时间还包括了在resource group中的等待时间。

图③ 为CPU时间,CPU时间为所有CPU核加起来所耗费的时间,因此可能此时间比查询时间还大。CPU时间的计算通过THREAD_MX_BEAN.getCurrentThreadCpuTime进行计算,仅进程被调度运行的时候才算,如果线程被CPU切换进行休眠的时间不算入CPU时间。

 二. Task级别的时间统计

 

Scheduled Time:Stage处于调度状态的时间,用调度结束后的System.nanoTime减去调度开始的System.nanoTime时间进行计算。

Blocked Time:Stage处于调度状态的时间,用调度结束后的System.nanoTime减去调度开始的System.nanoTime时间进行计算。

CPU Time:stage花费的所有核的CPU时间的总和。

Elapsed Time:Elapsed 时间为stage执行的端到端时间。

Wall Time:Wall Time和Scheduled Time的计算方式一样,只是stage端到端的时间。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值