Рекомендации по конфигурации¶
При работе в Linux необходимо учесть последующие рекомендации, так как типичные значения по умолчанию для Linux могут быть не настроены под нужды такого интенсивного приложения с высоким уровнем ввода-вывода, как NiFi.
Important
При установке ADS через ADCM рекомендации из данного раздела применяются автоматически
Максимальное число дескрипторов¶
Серсис NiFi в любой момент может открыть очень большое количество файлов, поэтому необходимо увеличить лимиты, отредактировав файл /etc/security/limits.conf. Например:
* hard nofile 50000 * soft nofile 50000
Maximum Forked Processes¶
NiFi может быть настроен для генерации существенного количества потоков. Для увеличения их допустимого числа необходимо отредактировать файл /etc/security/limits.conf, например:
* hard nproc 10000 * soft nproc 10000
При этом дистрибутив может потребовать так же изменить значение в /etc/security/limits.d/90-nproc.conf, тогда следует добавить в него:
* soft nproc 10000
Количество доступных портов TCP¶
Увеличение количества доступных портов TCP особенно важно в случае, если поток устанавливает и срывает большое количество сокетов за короткий промежуток времени:
sudo sysctl -w net.ipv4.ip_local_port_range="10000 65000"
Статус сокетов TIMED_WAIT¶
Для того, чтобы сокеты долго не задерживались, и при необходимости быстрой настройки и отключения новых сокетов следует изменить время нахождения сокетов в статусе TIMED_WAIT при их закрытии, например:
sudo sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait="1"
Отключение swapping в Linux¶
Для NiFi серсисов, всегда находящихся в непрерывной работе, swapping не подходит. Поэтому, чтобы сообщить Linux об отключении подкачки, следует отредактировать файл /etc/sysctl.conf, добавив строку:
vm.swappiness = 0
При этом для партиций, обрабатывающих различные NiFi-репозитории, необходимо отключить atime
, что в результате приводит к увеличению производительности. Поэтому рекомендуется отредактировать файл /etc/fstab, а для конкретных партиций добавить опцию noatime
.