При попытке выполнить приложение Siddhi с использованием потока событий, сгенерированного JMeter, использование ОЗУ выходит из-под контроля.

При попытке смоделировать поток событий с помощью JMeter и использовать его в качестве источника на сиддхи, он работает некоторое время, но заканчивается чрезмерным использованием ОЗУ, и выполнение программы останавливается.

Я попытался выполнить код с базой данных, без базы данных, используя раздел для получения событий одно за другим.

Это код потока:

@Source(type = 'http',       
        receiver.url='http://172.23.3.22:8007/insertSweetProduction',
        basic.auth.enabled='false',
        @map(type='json', @attributes( tipoDato='$.tipoDato', fecha='$.fecha', valor='$.valor', servicio='$.servicio')))
define stream insertSweetProduction (tipoDato string, fecha string, valor double, servicio string);

Это поток стока:

@Sink(type='file',
      @map(type='json'),
      @attributes( tipoDato='$.tipoDato', fecha='$.fecha', valor='$.valor', servicio='$.servicio'),
      file.uri='/dev/null')
define stream fileSweetProduction (tipoDato string, fecha string, valor double, servicio string);

И это запрос, выполняемый для копирования из одного потока в другой:

@info(name='query2')
from insertSweetProduction
select tipoDato,fecha,valor,servicio
insert into fileSweetProduction;

Ожидаемые результаты заключаются в том, что wso2worker покажет, что все события были обработаны и вставлены в поток приемника. В JMeter я симулирую 1 пользователя, вводящего 6000 событий в течение 1 часа, и похоже, что память оказывается чрезмерно использованной, и симуляция останавливается. Пробовал с разделом, и использование памяти значительно улучшилось, но все равно закончилось неудачей. Все, что я могу думать, это проблема с кодированием, но я не могу найти ничего, что могло бы вызвать это.

//Извините за плохой английский, это не мой родной язык//


person SereniFXX    schedule 24.04.2019    source источник


Ответы (1)


Рекомендуемый размер кучи — 2 Гб[1]. Сколько вы выделили на рабочий профиль?

[1] https://docs.wso2.com/display/SP430/Installation+Prerequisites

person Niveathika    schedule 24.04.2019
comment
8 ГБ памяти, 4 ЦП - person SereniFXX; 24.04.2019
comment
Не могли бы вы проверить файл ‹›SP_HOME›/wso2/worker/bin/carbon.sh? Сколько Xmx и Xms выделяется процессу? Мы ожидаем, что использование памяти составит около 2 ГБ, но все, что больше, является проблемой. Кроме того, использование памяти снижается через некоторое время или продолжает увеличиваться? - person Niveathika; 25.04.2019
comment
-Xms256m -Xmx2G . Использование памяти продолжает увеличиваться до тех пор, пока выполнение не остановится с ошибкой. - person SereniFXX; 25.04.2019
comment
Файл правильно добавляется? Я вижу, что file.uri в @Sink равен нулю? - person Niveathika; 25.04.2019
comment
По умолчанию дамп кучи должен создаваться для сценариев OOM в каталоге wso2/worker/logs. Вы исследовали его на предмет каких-либо подсказок? - person Niveathika; 25.04.2019
comment
Окей, кое-что есть. Вставка в /dev/null не должна быть проблемой, потому что информация там просто уничтожается. В любом случае изменил код, и теперь я представляю события в файле. Теперь оперативная память даже не замечает этого, и событий обрабатывается намного больше, чем раньше. Спасибо за вашу помощь! - person SereniFXX; 26.04.2019