При попытке смоделировать поток событий с помощью JMeter и использовать его в качестве источника в siddhi, он работает некоторое время, но заканчивается чрезмерным использованием ОЗУ и выполнение программы останавливается.
Я пытался выполнить код с базой данных, без базы данных, используя раздел для получения событий по одному.
Это код потока:
@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 часа, и похоже, что память заканчивается чрезмерным использованием, и симуляция останавливается.
Пробовал с разделом и использование памяти значительно улучшилось, но все равно закончилось неудачей.
Все, что я могу думать, это проблема кодирования, но, похоже, не могу найти ничего, что могло бы вызвать это.
// Извините за плохой английский, не мой родной язык //