首页 / NEO4J / NEO4J数据插入测试
NEO4J数据插入测试
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了NEO4J数据插入测试,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2279字,纯文字阅读大概需要4分钟。
内容图文
![NEO4J数据插入测试](/upload/InfoBanner/zyjiaocheng/563/c648785c3327454293e9cf50c10803ae.jpg)
CPU: I3 2.4Ghz 4核,内存8G 方式一:采用其原生接口操作 JVM:-Xms1024m -Xmx1024m -Xmn512m-XX:PermSize=128m -XX:MaxPermSize=256m 4000节点(50个属性),4000关系:1秒,其间cpu使用率25%,761M 8000节点(50个属性),8000关系:2秒,其间cpu使用率25%,82
CPU: I3 2.4Ghz 4核,内存8G方式一:采用其原生接口操作
JVM:-Xms1024m -Xmx1024m -Xmn512m-XX:PermSize=128m -XX:MaxPermSize=256m
4000节点(50个属性),4000关系:1秒,其间cpu使用率25%,761M
8000节点(50个属性),8000关系:2秒,其间cpu使用率25%,829M
16000节点(50个属性),16000关系:5秒,其间cpu使用率25,983M
24000节点(50个属性),24000关系:9秒,其间cpu使用率25%,1079M
32000节点(50个属性),32000关系:14秒,其间cpu使用率25%,1187M
40000节点(50个属性),40000关系:执行1多分钟以后直接报outOfMemery: java heap space
内存使用:
结论:插入时用事务插入接口的话,在JVM 1G内存的配置下最后能够插入3万多个节点和关系,再多就内存溢出。
方式二:采用BatchInserter接口JVM:采用JVM默认设置
40000节点(50个属性),40000关系:6秒,其间CPU使用率25%,内存288M
80000节点(50个属性),80000关系:17秒,其间CPU使用率25%,内存288M
120000节点(50个属性),120000关系:31秒,其间CPU使用率25%,内存289M
200000节点(50个属性),200000关系:56秒,其间CPU使用率25%,内存288M
分析:
根据官方文档,当少量数据(根据测试观察5000条以下)插入时,建议使用事务型插入接口(即通常NEO4J的数据操作接口),速度还是可以的;当数据量比较大时,建议采用专用的BatchInserters接口,这个接口在插入时不创建事务,估计内存占用很少,基本上在不同数据量的操作期间内存无太大变化。由此可见,在向NEO4J导入大量数据时,可以有以下两种方法实现快速插入:
化大为小法此法是将大量的数据集合分成5000条或者更少集合,使用事务型插入接口插入数据,这样整体的插入时间按照以上的测试结果,100000条数据可以在30秒内插入完毕。缺点是需要分拆数据集合为小的集合;优点是当用户已经在运行一组NEO4J的数据库时,只需改造相关的代码即可,也不需要在导入期间暂停数据库。
批量插入法此法不管数据量多大,都可以实现快速插入,实现速度和内存的平衡,适合在初始化数据库时(或者需要大量导入数据时)一次性导入大量的数据;缺点是导入数据时要暂停数据库,采用BatchInserters接口导入,不能实现业务无中断运行。
建议:
采用化大为小法,当插入(导入)数据量大于1000个时,采用分批插入的方法,可以达到快速插入数据的目的,也能保证内存占用量不会有太大的变化而导致OOM。
内容总结
以上是互联网集市为您收集整理的NEO4J数据插入测试全部内容,希望文章能够帮你解决NEO4J数据插入测试所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。