Потоковая аналитика слишком медленная (проскальзывание между двумя потоками)? - PullRequest
0 голосов
/ 27 мая 2018

Вот моя топология потоковой аналитики

EventHubSource => Job A (HoppingWindow every second) => EventHubA
EventHubSource => Job B (HoppingWindow every second) => EventHubB
  • У каждой работы есть своя группа потребителей в EventHubSource.
  • Каждая работа смущающе параллельна и потребляет только 14% ресурсов SU.

При тестировании JobA и JobC разница между windowEnd и исходным временем события составляет всего несколько миллисекунд (~ 300), что нормально(задержка от моего производителя + eventhub + время обработки аналитики потока).

Но когда я объединяю оба потока в новом задании C, как это:

EventHubA 
          \
            => Job C (Join Datediff = 0 and timestamp by windowEnd)
          /
EventHubB

Это производит некоторый вывод, нопроблемы возникают здесь:

Реальные события разнесены на несколько минут, даже если они были одновременно переданы заданиями A и B (то же самое окноEnd)

Когда я проверяю поступающие данныевне EventHub A и B разница между windowEnd и временной меткой реального события составляет от 39 до 44 минут для всех из них.Но при тестировании, как упомянуто выше, это было только 300 мс.

Хуже всего здесь то, что когда я запускаю его в prod, он генерирует только несколько десятков событий и останавливается, даже если счетчик ввода все ещетысячами.

Уже несколько недель я работаю над этим, и каждый раз, когда я сталкиваюсь с каким-то загадочным поведением из ASA, моя топология довольно проста, и я использую только простые скачкообразные окна перехода 1 с,это не должно занять несколько недель ошибок настройки и проб, даже не понимая, что происходит.

Для людей, которые использовали аналитику ASA и AWS Kinesis, вам показалось, что с аналитикой Kinesis проще работать?Что меня раздражает в ASA, так это непредсказуемое поведение и проблемы без сообщений об ошибках (я активировал аналитику журналов, и там не было ошибок ...)

1 Ответ

0 голосов
/ 30 мая 2018

Жаль слышать, что вы столкнулись с некоторыми проблемами с ASA.Я вижу, что у вас есть 1 секунда скачкообразных окон, но каков общий размер окон и какова ваша приблизительная пропускная способность?

Относительно задержки: Смотря на ваш вопрос, я думаю, что вашей работе ASA может не хватитьРесурсы ЦП, а затем обработка событий задерживается.К сожалению, этого не видно в текущей метрике SU%, но в будущем мы планируем показывать метрики как для процессора, так и для памяти.Чтобы убедиться, что это является основной причиной, вы можете проверить количество событий с ошибками в диаграмме заданий .Если в журнале задано много событий, вам может потребоваться увеличить количество SU для этого задания.

Вы также упомянули, что задание останавливается после десятка выходных данных. Вы видите сообщение об ошибке в журналах?

...