Какой из них я должен использовать для тестовых задач в пользовательском + системном времени hadoop или общем времени процессора, потраченном на счетчик заданий hadoop?
В этом одном утверждении в ответе написано, что "одно и то же задание выполняется для тех же данных, но в одном кластере из 20 узлов, затем в кластере из 200 узлов. В целом, одинаковое количество процессорного времени будет использоваться в обоих кластерах". Может кто-нибудь объяснить это?
Я использовал time
Команда для измерения в реальном времени. Иногда я получаю больше процессорного времени (счетчик hadoop), чем фактическое реальное время или наоборот. Я знаю, что реальное время измеряет реальное время, прошедшее, и оно может быть больше или меньше, чем user+sys
,
Я все еще не понимаю, сколько всего процессорного времени измеряется в hadoop. Что касается времени команды, написанной в этом ответе, хорошо бы пойти с user+sys для тестов.
- Как
total cpu time taken by process = user+sys
тогда он должен быть таким же, как общее время процессора счетчика заданий hadoop. Но я получаю разные результаты. - Какое время мне следует учитывать, если я выполняю какие-то тестовые задачи в 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 раза, и рассчитать среднее значение как конечный результат.