У меня проблема с обновлением производительности Apache NiFi. Я использую OPCSubscriber, который отправляет 20000 файловых потоков в секунду в Apache Kafka. Сервер Nifi вылетает без причины.
Я частично решил эту проблему, увеличив память JVM в конфигурации boostrap:
# JVM memory settings
java.arg.2=-Xms6g
java.arg.3=-Xmx6g
А также увеличение выделенных потоков для процесса publishkafka с 1 до 1024 потоков. Но, тем не менее, я не могу проглотить высокую пропускную способность, так как размер очереди продолжает увеличиваться.
Требования к серверу, которые я использую:
free -m
total used free shared buff/cache available
Mem: 7976 569 7251 0 155 7195
Swap: 1970 1009 961
lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 2
Socket(s): 2
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 26
Model name: Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz
Stepping: 4
CPU MHz: 2394.455
BogoMIPS: 4788.91
Hypervisor vendor: VMware
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 35840K
NUMA node0 CPU(s): 0-3
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc cpuid pni ssse3 cx16 sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer hypervisor lahf_lm pti tsc_adjust ibpb ibrs stibp arat arch_capabilities
Существуют ли другие параметры, кроме памяти JVM и потоков, для улучшения производительности NiFi?