我使用GraphDB loadrdf工具加载本体和相当大的数据。我将pool.buffer.size = 800000和jvm -Xmx设置为24g。我尝试了并行和串行模式。一旦回购总报表超过10k,它们都会放慢速度。它最终会减慢到1或2个语句/秒。有谁知道这是loadrdf的正常行为还是有办法优化性能?
编辑我增加了元组索引内存。请参阅我的repo ttl配置的一部分:
owlim:entity-index-size "45333" ;
owlim:cache-memory "24g" ;
owlim:tuple-index-memory "20g" ;
owlim:enable-context-index "false" ;
owlim:enablePredicateList "false" ;
owlim:predicate-memory "0" ;
owlim:fts-memory "0" ;
owlim:ftsIndexPolicy "never" ;
owlim:ftsLiteralsOnly "true" ;
owlim:in-memory-literal-properties "false" ;
owlim:transaction-mode "safe" ;
owlim:transaction-isolation "true" ;
owlim:disable-sameAs "true";
但不知何故,这个过程仍在放缓。它以“全球平均速率:1,402 st / s”开头。但在“回购声明:61,831”之后放缓至“全球平均汇率:20 st / s”。我给了我的jvm:-Xms24g -Xmx36g
答案 0 :(得分:1)
你能发布你的存储库配置吗?在其中,有一个参数 tuple-index-memory - 这将决定我们允许保留在内存中的更改量(光盘页面)。这个值越大,我们将要做的冲洗次数越少。
检查您的设置中是否将此值设置为20G,然后重新尝试该过程。
答案 1 :(得分:0)
我看过你的存储库配置ttl。存在以下参数: entity-index-size = 45333 ,其值需要增加,例如将其设置为1亿(entity-index-size = 100000000)。 GraphDB 7中该参数的默认值为10M,但由于您已明确设置它,因此会被覆盖。
您可以详细了解该参数here