#google-cloud-dataflow #apache-beam #dataflow
#google-compute-engine #google-облако-поток данных #apache-beam #поток данных
Вопрос:
Мы работаем над проектом с открытым исходным кодом, который запускает задания потока данных с Apache Beam Go SDK.
Недавно мы заметили, что задания, выполняемые в разных рабочих местах (зонах), имеют очень разные характеристики, например
us-central1-a против us-central1-f:
Время работы на стенке — 1 час 21 минута против 1 часа 58 минут
Общий vCPU — 1129,907 против 1727,49 vCPU в час
(Пожалуйста, смотрите прилагаемые фотографии)
Эти задания считывают одни и те же входные данные в корзине GCS (многорегиональной) и обрабатывают их с помощью одного и того же кода. Но зона ‘us-central1-a’ неизменно имеет лучшую производительность, чем ‘us-central1-f’. Кто-нибудь знает, в чем разница между ними? Есть ли какие-либо инструкции по выбору зон?
Заранее спасибо!
Ответ №1:
Чтобы переопределить зону, см.: https://cloud.google.com/dataflow/docs/concepts/regional-endpoints#workeroverride .
Что касается производительности разных зон, спецификации для каждой зоны можно найти в документации GCE. Я предполагаю, что 2 зоны, вероятно, имеют разные платформы процессора по умолчанию.
Например, если вы создаете экземпляр в зоне us-central1-a, ваш экземпляр по умолчанию использует процессор Haswell, если вы не укажете другой параметр.
Возможно, вам захочется дважды проверить, имеют ли 2 задания одинаковые показатели и характеристики, т.Е. замедление us-central1-f является постоянным и не вызвано какими-либо сбоями в работе задания или его зависимых систем. Кроме того, вы можете проконсультироваться с экспертом GCE, чтобы узнать, обеспечивает ли другая зона разную производительность. И поскольку зона выбрана автоматически, возможно, регион / зона us-central1-a в то время была слишком занята, и у вас может быть аналогичная или худшая производительность в us-central1-a, если она была выполнена там.
Комментарии:
1. Большое спасибо за ответ! На самом деле мы запускали одно и то же задание в обеих указанных зонах несколько раз, и результаты были вполне согласованными, поэтому вероятность сбоев меньше. Я думаю, что ваша точка зрения на процессорные платформы имеет смысл, вы знаете, как мы можем связаться с экспертом GCE? И есть ли способ для пользователей проверить, насколько занята зона?
2. Я не думаю, что базовый статус каждого региона / зоны виден конечным пользователям. Вы можете добавить теги «google-compute-engine» к своему вопросу и посмотреть, сможет ли кто-нибудь ответить на вопрос о разнице в производительности.
3. Понял, большое спасибо!