经常有朋友问道,Neo4j 社区版与企业版的性能到底有什么差别?为了准确回答这个问题,最近我们做了一次对比测试,测试数据表明,企业版与社区版的性能比是 2~4 倍。以下是详细的测试报告,供朋友们参考。
测试环境: 机器: Surface Pro 4 系统: Microsoft Windows 10 专业版 64 位 版本 10.0.15063 处理器: Intel® Core™ i7-6650U CPU @ 2.20GHz 2208Mhz, 2 个内核, 4 个逻辑处理器 硬盘: 1 TB SSD 内存: 16 GB 版本: neo4j-community-3.4.1-windows.zip vs neo4j-enterprise-3.4.1-windows.zip 配置: dbms.memory.heap.initial_size=5g dbms.memory.heap.max_size=5g dbms.memory.pagecache.size=7g 数据源:https://snap.stanford.edu/data/twitter-2010.txt.gz twitter-2010.txt.gz (5,501,785,223 字节,展开后 26,141,060,589 字节,1,468,365,182 行)
测试步骤: 1、第一次导入: USING PERIODIC COMMIT 1000 LOAD CSV FROM “file:/twitter-2010.txt.gz” AS line FIELDTERMINATOR ’ ’ WITH toInt(line[0]) as id MERGE (n:Person {id:id}) ON CREATE SET n.name = toString(id), n.sex = [“男”, “女”][(id % 2)], n.age = (id % 50) + 15, n.country = [“中国”, “美国”, “法国”, “英国”, “俄罗斯”, “加拿大”, “德国”, “日本”, “意大利”][(id % 9)] 2、第二次导入: USING PERIODIC COMMIT 1000 LOAD CSV FROM “file:/twitter-2010.txt.gz” AS line FIELDTERMINATOR ’ ’ WITH toInt(line[1]) as id MERGE (n:Person {id:id}) ON CREATE SET n.name = toString(id), n.sex = [“男”, “女”][(id % 2)], n.age = (id % 50) + 15, n.country = [“中国”, “美国”, “法国”, “英国”, “俄罗斯”, “加拿大”, “德国”, “日本”, “意大利”][(id % 9)]
测试记录:
测试结论: 两次导入,共导入: 节点 81,755,560 个 属性 163,511,060 个 社区版用时: 第一次导入:31,377,517 ms 第二次导入:38,293,403 ms 企业版用时: 第一次导入:12,135,606 ms 第二次导入:99,210,404 ms 性能对比(企业版比社区版): 第一次导入:2.58 倍 第二次导入:4.15 倍