Какой из них я должен использовать для тестовых задач в пользовательском + системном времени hadoop или общем времени процессора, потраченном на счетчик заданий hadoop?

В этом одном утверждении в ответе написано, что "одно и то же задание выполняется для тех же данных, но в одном кластере из 20 узлов, затем в кластере из 200 узлов. В целом, одинаковое количество процессорного времени будет использоваться в обоих кластерах". Может кто-нибудь объяснить это?

Я использовал time Команда для измерения в реальном времени. Иногда я получаю больше процессорного времени (счетчик hadoop), чем фактическое реальное время или наоборот. Я знаю, что реальное время измеряет реальное время, прошедшее, и оно может быть больше или меньше, чем user+sys,

Я все еще не понимаю, сколько всего процессорного времени измеряется в hadoop. Что касается времени команды, написанной в этом ответе, хорошо бы пойти с user+sys для тестов.

  1. Как total cpu time taken by process = user+sys тогда он должен быть таким же, как общее время процессора счетчика заданий hadoop. Но я получаю разные результаты.
  2. Какое время мне следует учитывать, если я выполняю какие-то тестовые задачи в hadoop user+sys или общее время, затраченное процессором (счетчик hadoop)?

примечание: в тесте Apache Hive они учитывали реальное время, но на него могут влиять и другие процессы. Поэтому я не могу рассмотреть реальное время.

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

Это означает, что если работа занимает N час на кластере из 20 узлов, и M часов на кластере из 200 узлов, затем 20 * N должно быть равно M * 200

выбор времени в реальном времени должен быть, но, как вы сказали выше, это значение может соответственно измениться, поэтому вы должны попробовать как минимум 3 раза, и рассчитать среднее значение как конечный результат.

Другие вопросы по тегам