Xodus插入率高

时间:2018-03-17 16:07:06

标签: xodus

我正在使用Xodus存储时间序列数据(每天插入100-500万行。)

每个环境都有多个商店。每天都会创建新商店,旧商店(创建超过30天可以删除)。最近我的总环境规模增长到500亿。

在初步调查结果显示,Xodus后台清理程序线程几乎消耗了所有IO资源,读取/写入速度急剧下降。 iostats显示几乎90%的利用率,20 mb / sec读数和0 mb / sec写入。

我决定给后台线程一些时间来清理环境,但它会继续运行几天,所以最终我不得不删除整个环境。

Xodus是一个很棒的工具,它让我觉得我做错了选择,Xodus不是为了插入大量的数据而设计的,因为只有附加修改设计。如果插入太多数据,后台清理程序线程将无法压缩数据并将占用所有IO。

使用Xodus处理大数据时,您能否提出任何建议和技巧?我可以每天创建新环境而不是创建新商店

1 个答案:

答案 0 :(得分:1)

如果你可以从不同的环境中获取数据,那么每天创建Environment的实例而不是Store的实例肯定会受益。在这种情况下,GC将仅处理每日数据量。插入率或多或少会保持不变,而随着数据总量的增加,提取速度会逐渐降低。

如果在单个JVM中使用多个环境,请确保exodus.log.cache.shared的{​​{1}}设置设置为true