Моя настройка: 8 ядер, 16 ГБ ОЗУ, 500 ГБ HDD, Windows 10
Apache Версия Nifi: 1.10.0
У меня есть группа процессов с этим следующим форматом для сделать инкрементную передачу данных из Oracle в Bigquery:
QueryDatabaseTable -> AvroToJson -> PutBigQueryBatch
Я повторно использую эту группу процессов для многократной инкрементной передачи данных. Я запланировал запуск QueryDatabaseTable
каждые 2 часа и других процессоров в течение 0 секунд. Я управлял каждой группой процессов одновременно. У меня есть 100 групп процессов. В первый раз потребовалось 20 минут, чтобы выполнить инкрементную работу, в следующий раз - 36 минут, затем 45 минут, и это продолжало увеличиваться.
Я следил за тем, что происходит в Apache Nifi. Некоторые из группы процессов показывают, что потоки работают, а некоторые нет. Но как только поток вышел, я ожидал, что процессоры запустятся немедленно, но этого не произошло.
Сбрасывается ли время запуска, когда процессор начинает работать после того, как поток становится доступным, и с этого момента учитывается время расписания?
Количество потоков, которые может обработать ЦП должно быть равно количеству процессоров, которые я пытаюсь запустить одновременно?