Я использую 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