当尝试使用 JMeter 模拟事件流并将其用作 siddhi 上的源时,它会工作一段时间,但最终会导致 RAM 被过度使用并且程序的执行停止。
我尝试在没有数据库的情况下使用数据库执行代码,使用分区来一一获取事件。
这是流代码:
@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 个用户在 1 小时内引入 6000 个事件,看起来内存最终过度使用并且模拟停止。尝试使用分区和内存使用率提高了很多,但仍然以失败告终。我能想到的是这是一个编码问题,但似乎找不到任何可能导致这种情况的东西。
//对不起英语不好,不是我的第一语言//