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