在apache ignite群集上写入缓存数据时,sql查询速度很慢

时间:2019-03-29 11:10:11

标签: java apache ignite

在apache ignite 2.7.0和2.3.0上进行测试,如果没有写入缓存数据,则sql查询速度很快,但是当我写入数据时,sql查询变慢了,为什么?

当将数据写入apache点燃缓存时,如何使sql查询快速? 还是如何分开对apache ignite进行缓存读取和写入?

如下定义缓存实体ABData,并用Streamer.add方法加载10次3000个ABData。 每次加载完所有ABData之后(假设10分钟后,这意味着3000个ABData已添加到点火缓存中),运行SqlFieldQuery('select * from ABData'),所有ABData都会在5毫秒内返回。 但是每次仍然有3000个ABData加载时(例如,每次加载ABData之前,我们都会启动另一个线程以SqlFieldQuery查询ABData),运行SqlFieldQuery('select * from ABData'),所有ABData都会在100后返回毫秒。

公共类ABData {

@QuerySqlField(index = true)
private String code;

@QuerySqlField(index = false)
private String configData;

@QuerySqlField(index = false)
private Integer categoryID;

}

1 个答案:

答案 0 :(得分:0)

很难说这里会发生什么。我建议您以例如堆栈跟踪,并尝试找出花费时间/在何处进行锁定。

然后,这可能是您的方案中的一些问题,例如创建寿命短的服务器节点来进行数据流传输。他们进出时都会触发重新平衡。