Как улучшить производительность NIFI при синхронизации данных в MySQL - PullRequest
0 голосов
/ 16 мая 2019

Я использую NiFi (один экземпляр) CaptureMySQLChange(binlog) + EvaludateJsonPath + JoltTransformJSON + PutDatabaseRecord для синхронизации данных из одной таблицы в другую, обе таблицы находятся в разных базах данных, но в одном и том же экземпляре mysql. Я использую insert into table_a select * from table_b limit 5000; для пакетной вставки 5000 строк, nifi занимает около 7 минут для синхронизации всех 5000 строк, это нормально или медленно для nifi? Если медленно, как я должен сделать, чтобы улучшить производительность?

Настройка JVM:

java.arg.2=-Xms4g java.arg.3=-Xmx8g

Настройка процессора: timer-driven scheduling, concurrent tasks=1(to re-execute sql in order), Run Schedule=0 sec, Penalty Duration=10 sec, Yield Duration=1 sec

настройка очереди: Back Pressure Object Threshold=100_000, Size Threshold=2g FirstInFirstOutPrioritizer

...