Neo4j社区版可以热身了吗?

时间:2013-12-17 11:03:19

标签: neo4j cypher

我在ubuntu的休息服务器上使用neo4j 2.0社区版 每次启动neo4j后第一次查询都是慢响应。 并保持与第一个相同的快速响应查询。我猜这种行为与缓存有关。
我尝试通过以下查询缓存所有基元(node,rel,props)。我在stoted up neo4j服务器后使用webadmin执行查询,但第一次查询性能没有提高。

start n=node(*) match n--m return count(n)

match (n)-[r]-() return count(n)

所有原语大小约为1.5GB,我的计算机资源就足够了。 我的neo4j.properties在这里:

# Default values for the low-level graph engine
all_stores_total_mapped_memory_size=1500M
eostore.nodestore.db.mapped_memory=150M
neostore.relationshipstore.db.mapped_memory=200M
neostore.propertystore.db.mapped_memory=600M
neostore.propertystore.db.strings.mapped_memory=500M
neostore.propertystore.db.arrays.mapped_memory=10M

# Enable this to be able to upgrade a store from an older version
#allow_store_upgrade=true

# Enable this to specify a parser other than the default one.
cypher_parser_version=2.0

# Keep logical logs, helps debugging but uses more disk space, enabled for
# legacy reasons To limit space needed to store historical logs use values such
# as: "7 days" or "100M size" instead of "true"
keep_logical_logs=true

# Autoindexing

# Enable auto-indexing for nodes, default is false
#node_auto_indexing=true

# The node property keys to be auto-indexed, if enabled
#node_keys_indexable=name,age

# Enable auto-indexing for relationships, default is false
#relationship_auto_indexing=true

# The relationship property keys to be auto-indexed, if enabled
#relationship_keys_indexable=name,age

dump_configuration=true

有没有一种方法可以让neo4j communith版启动缓存蠕虫?

由于

1 个答案:

答案 0 :(得分:2)

您使用的是哪个版本?

他们只有你可以预热缓存才能运行典型的查询。

是3倍

  1. 预热文件系统缓存(mmio)
  2. 预热高级缓存(对象缓存)
  3. 预编译您将使用的cypher查询,因此cypher无法为第一个用户构建它们。
  4. 此查询应该有助于预热:

    match (n)-[r]-() return count(n)

    如果您还想加载属性,可以添加:

    match (n)-[r]-() where not has(n.foo) and not has(r.foo) return count(n)

    慢速的典型查询是什么样的?