我应该将哪一个用于hadoop用户+ sys时间或hadoop作业计数器中花费的总cpu时间的基准测试任务?

时间:2016-02-19 08:49:28

标签: linux hadoop mapreduce benchmarking cpu-time

this答案中写了一句话:“同一个作业在同一个数据上运行但在一个20节点集群上运行,然后是一个200节点集群。总体而言,两者都将使用相同数量的CPU时间集群“有人可以解释一下吗?

我使用time命令来测量实时。有时我获得的cpu时间(hadoop计数器)比实际时间长,反之亦然。我知道实时测量的实际时钟时间可能大于或等于user+sys

我还没有得到hadoop中的总CPU时间测量值。 关于编写时间命令this的答案,最好使用user + sys作为基准测试。

  1. 作为total cpu time taken by process = user+sys,它应该与hadoop作业计数器的总CPU时间相同。但是我得到了不同的结果。
  2. 如果我在hadoop user + sys或者花费的总cpu时间(hadoop counter)中做了一些基准类型的任务,我应该考虑哪个时间?
  3. 请注意: 在apache hive基准测试中,他们已经考虑了实时,但它也会受到其他进程的影响。所以我不能考虑实时。

1 个答案:

答案 0 :(得分:1)

same job running over the same data but on one 20 node cluster, then a 200 node cluster.Overall, the same amount of CPU time will be used on both clusters

这意味着如果作业在20节点群集上花费N小时,在200节点群集上花费M小时,那么20 * N应该等于M * 200 }

实时应该是您的选择,但如上所述,此值可能会相应更改,因此您应至少尝试3次,并将平均值计算为最终结果。