Воздушный поток 1.9.0 - длительная задержка между выполнением задачи - PullRequest
0 голосов
/ 25 апреля 2018

Я недавно обновился с v1.7.1.2 до v1.9.0 и после обновления заметил, что загрузка ЦП значительно возросла. После некоторых копаний я отследил их до следующих двух параметров конфигурации планировщика: min_file_process_interval (по умолчанию 0) и max_threads (по умолчанию 2).

Как и ожидалось, увеличение min_file_process_interval позволяет избежать замкнутого цикла и прекращает использование процессора, когда он простаивает. Но я не понимаю, почему min_file_process_interval влияет на выполнение задач?

Если я установил min_file_process_interval равным 60 с, он теперь будет ждать не менее 60 с между выполнением каждой задачи в моей группе обеспечения доступности баз данных, поэтому, если у меня есть 4 последовательных задачи, это теперь добавило 4 минуты ко времени выполнения. Например:

start -> [task1] -> [task2] -> [task3] -> [task4]
        ^          ^          ^          ^
        60s        60s        60s        60s

У меня есть настройка воздушного потока в моей тестовой среде и в рабочей среде. Это меньше проблема в моей рабочей среде (но все же касается), но большая проблема для моей тестовой среды. После обновления загрузка ЦП значительно выше, поэтому либо я принимаю более высокую загрузку ЦП, либо пытаюсь уменьшить его с более высоким значением конфигурации. Однако это значительно увеличивает время выполнения моих тестовых пакетов.

Почему min_file_process_interval влияет на время между задачами после планирования DAG? Существуют ли другие параметры конфигурации, которые могут решить мою проблему?

Ответы [ 2 ]

0 голосов
/ 08 марта 2019

Наиболее вероятная причина заключается в том, что в папке dags слишком много файлов python, и планировщик воздушного потока слишком много сканирует созданный экземпляр DAG.

Рекомендуется уменьшить количество файлов dag в планировщике ирабочий первый.В то же время значения SCHEDULER_HEARTBEAT_SEC и MAX_THREADS устанавливаются максимально большими.

0 голосов
/ 25 апреля 2018

Другой вариант, на который вы можете обратить внимание:

SCHEDULER_HEARTBEAT_SEC

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

MAX_THREADS

помог нам.Машины разработчика достаточно быстры для повторного развертывания, но без горячего, светящегося процессора, что хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...