Проблема с слишком большим количеством открытых файлов в siddhi wso2 sp

во время тестирования производительности сервера потокового процессора wso2 я поместил более сотни файлов .siddhi в каталог развертывания. что приводит к проблеме "ко многим открытым файлам".

Основные правила, которые у меня есть:

  1. все правила слушать одну и ту же тему кафка

  2. каждое правило имеет свой собственный идентификатор группы (чтобы все они обрабатывали поток одновременно)

  3. когда количество файлов .siddhi в папке развертывания превышает примерно 100. никакие другие файлы .siddhi не развертываются, и siddhi перестает отвечать.

Может ли кто-нибудь сообщить мне:

1. где именно я ошибаюсь?

  1. каков предел правил, которые можно создать на одном сервере сиддхи?

person babravahan    schedule 18.06.2018    source источник


Ответы (2)


Это может быть связано с конфигурацией вашей ОС. Выполните следующую команду, чтобы отобразить все текущие ограничения.

 ulimit -a

ulimit -n 70000 установит ограничение на дескриптор файла.

Попробуйте сценарий после увеличения лимита.

Также проверьте, дублируете ли вы одно и то же правило в 100 файлах или это 100 разных правил.

person Chiran Fernando    schedule 18.06.2018

Похоже, здесь происходит то, что у вас заканчиваются дескрипторы открытых файлов. Как @pcnfernando предложил в предыдущем ответе, вы можете установить ограничение дескриптора, используя ulimit -n ####.

Однако настоящий вопрос в том, почему это происходит? Это может быть связано с несколькими причинами. Количество файлов сиддхи, которые вы используете, и количество тем / разделов Kafka (поскольку это также может вызвать слишком много открытых подключений).

Так что даже если проблема решена с помощью ulimit -n ####, лучше провести некоторое расследование с помощью lsof [1] и посмотреть, какой процесс на самом деле вызывает проблему. Это поможет вам с Q1.

А для Q2. Не существует жесткого и быстрого правила определения количества правил Сиддхи, которые могут быть развернуты на одном сервере. Все зависит от таких переменных, как вычислительная мощность, память и, конечно, количество открытых файловых дескрипторов в этой ситуации.

[1] https://www.ibm.com/developerworks/aix/library/au-lsof.html

person Grainier    schedule 20.06.2018