我正在尝试使用Neo4j和Cypher查询运行一些基准测试。我当前的数据集大小为1GB和3GB。虽然我已经完成了对1GB数据集的查询,但是我当前针对3GB数据集的查询似乎正在“执行”,但现在已经处于同一阶段约30分钟。微调器不断旋转。
对于1GB数据集,同一查询仅花费了 13068.25 ms (10次执行的平均值)。对于3GB大小的数据集,似乎不太可能需要30分钟以上的时间(我仍然有10GB和30GB的数据集大小可以用来测试)。
即使查询执行期间没有错误,我还是进入设置(Neo4j Desktop>管理>设置),并确保有足够的可用内存。分配的默认大小为512 mb-
# Java Heap Size: by default the Java heap size is dynamically
# calculated based on available system resources.
# Uncomment these lines to set specific initial and maximum
# heap size.
dbms.memory.heap.initial_size=512m
dbms.memory.heap.max_size=512m
我停止了查询执行,将这些值首先更改为2g(2GB),然后再次将其更改为4g(4GB),然后重新执行了相同的查询。但是每次微调器不断旋转时-
我的数据集只有8种实体类型,并且我在所有实体类型的id
属性上设置了索引。我正在执行的查询使用id
字段查找具有给定值的记录(例如:以给定ID值开始Person)。上载3GB数据集后,磁盘上的总大小约为6GB。
我尝试使用“监视系统”选项来查看是否可以在其中找到任何相关/有用的信息,但是根据提供的统计信息,我无法确定是否存在问题(以下屏幕截图)-
除非查询正常执行,并且30-40分钟是预期的查询执行时间,但我不确定是否出了问题或要解决的问题。我认为,如果必须超时,那么现在可能已经超时了。
不胜感激。