neo4j调优手册v1.0(完整版).pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
neo4j 1. 1.1 优化内存配置 在neo4j中有两个内存配置项⾮常重要,直接决定了neo4j的性能。在neo4j中有最重要的内存的配置有 两项: (Heap size) 堆内存是neo4j运⾏时需要的内存,⽤于:查询执⾏,事务状态,图形管理等。堆的⼤⼩决定于neo4j的 使⽤性质。配置堆内存的参数如下: dbms.memory.heap.initial_size=16384m dbms.memory.heap.max_size=16384m 说明:官⽅建议堆内存不要过⼤,过⼤容易产⽣full gc ,导致程序停顿。在总物理内存⾜够的情况下 (56G),官⽅的建议值是:16G。 (pagecache) dbms.memory.pagecache.size=80g 在neo4j中,⻚⾯缓存”⽤来缓存索引和数据。通过该参数的设置,可以把数据都加载到内存中。该参数 的⼤⼩需要根据数据量和索引量,以及物理内存的⼤⼩来设置。 参考资料 How to estimate initial memory configuration 1.2 ⼀为查询的索引 创建单属性索引 CREATE INDEX ON :Person(firstname) 创建复合索引 CREATE INDEX ON :Person(age, country) 注意:只有复合索引的两个字段都被查询,复合索引才被使⽤,否则不会被使⽤。 查看索引 CALL db.indexes stateONLINE 1.3 能的的,不是⼿索引 尽可能的建⽴更多种类的关系标签,⽽不是给关系加属性,这样会很低效,即使给关系加上⼿⼯索 引。 1.4 neo4j-import的 ⽣产环境⽤neo4j-import加载数据很快,但得先构造很多个csv⽂件,另外该命令只⽤于neo4j初 始化状态。 增量数据的同步加载⼜不想暂停数据库服务,需要使⽤:load csv 或者apoc 1.5 数据的 适合做图存储和基于模式匹配的⼦图查询,并不适合做⼤量与搜索⽆关的数据存储⼯作,⽐如:元数据 查询就不应该放到图数据库中。 1.6 的优化 I/O调度在Linux上,驱动程序的I / O调度程序(在本例中为sda)可以在运⾏时更改,如下所示: $ echo deadline /sys/block/sda/queue/scheduler $ cat /sys/block/sda/queue/scheduler noop [deadline] cfq 1.7 器 使⽤G1垃圾回收器,neo4j-3.5的默认启动参数应该是G1。也可以通过jsp -lv 查看⼀下。 -XX:+UseG1GC 1.8 服务的置 为客户端(client)建⽴的每个连接都分配给连接器的线程池。,并 且会针对来⾃客户端的消息对其进⾏监视。到达连接的每条消息都会触发线程池中可⽤线程上的连接调 度。 Bolt线程池具有最⼩和最⼤容量。它从可⽤的最⼩线程数开始,并根据⼯作负载增⻓到最⼤数量。闲置 超过指定时间段的线程将停⽌并从池中删除,以释放资源。但是,池的⼤⼩永远不会低于最⼩值。 以下配置选项可⽤于配置Bolt连接器: dbms.connector.bolt.thread_pool_min_size 5 即使空闲也将始终保持最⼩线程数。 dbms.connector.bolt.thread_pool_max_size 400 线程池将创建的最⼤线程数。 线程池在从池中终⽌空闲线程之前将等待的持续时间。但是,线程数永远不会低于 dbms.connector.bolt.thread_pool_keep_alive 5m dbms.connector.bolt.thread_pool_min_size。 说明:在并发不⼤的情况下该参数可以不⽤设置。 2. 才启动时需要对neo4j的数据进⾏预热,通过以下命令进⾏预热: MATCH (n) OPTIONAL MATCH (n)-[r]-() RETURN count(n.name) + coun

文档评论(0)

小青欣文案铺 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档