当尝试使用JMeter生成的事件流执行Siddhi APP时,RAM使用失控

问题描述 投票:0回答:1

当尝试使用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个事件,看起来内存最终过度使用,模拟停止。尝试使用分区,内存使用率大大提高,但最终仍以失败告终。我只能想到这是一个编码问题,但似乎无法找到任何可能导致这种情况的问题。

//对不起英语不好,不是我的第一语言//

wso2 siddhi stream-processing event-stream event-stream-processing
1个回答
0
投票

建议的堆大小为2 Gb [1]。你分配给工人档案多少钱?

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

© www.soinside.com 2019 - 2024. All rights reserved.