失效链接处理 |
neo4j调优手册v1.0 PDF 下载
本站整理下载:
相关截图:
主要内容:
1. ս۸ᯈᗝ
1.1 优化内存配置
在neo4j中有两个内存配置项⾮常重要,直接决定了neo4j的性能。在neo4j中有最重要的内存的配置有
两项:
ञٖਂ
(Heap size)
堆内存是neo4j运⾏时需要的内存,⽤于:查询执⾏,事务状态,图形管理等。堆的⼤⼩决定于neo4j的
使⽤性质。配置堆内存的参数如下:
说明:官⽅建议堆内存不要过⼤,过⼤容易产⽣full gc,导致程序停顿。在总物理内存⾜够的情况下
(>56G),官⽅的建议值是:16G。
ᶭᖨਂ
(pagecache)
在neo4j中,"⻚⾯缓存”⽤来缓存索引和数据。通过该参数的设置,可以把数据都加载到内存中。该参数
的⼤⼩需要根据数据量和索引量,以及物理内存的⼤⼩来设置。
参考资料
How to estimate initial memory configuration
1.2 ⼀ਧᥝ为查询的ਁྦྷڠୌ索引
创建单属性索引
创建复合索引
注意:只有复合索引的两个字段都被查询,复合索引才被使⽤,否则不会被使⽤。
查看索引
dbms.memory.heap.initial_size=16384m
dbms.memory.heap.max_size=16384m
dbms.memory.pagecache.size=80g
CREATE INDEX ON :Person(firstname)
CREATE INDEX ON :Person(age, country)
ဳғ୮፡کstateᬯӞໄጱᇫாԅ "ONLINE"҅ᔱኞප̶
1.3 ੱݢ能的ୌᒈๅग़ᐿᔄ的ىᔮຽᓋ,ᘒ不是Ⴒے⼿ૡ索引
尽可能的建⽴更多种类的关系标签, ⽽不是给关系加属性, 这样会很低效, 即使给关系加上⼿⼯索
引。
1.4 neo4j-import的ֵአ
⽣产环境⽤neo4j-import加载数据很快,但得先构造很多个csv⽂件,另外该命令只⽤于neo4j初
始化状态。
增量数据的同步加载⼜不想暂停数据库服务,需要使⽤:load csv 或者apoc
1.5 ࢶ数据ପ的ਧ֖
适合做图存储和基于模式匹配的⼦图查询,并不适合做⼤量与搜索⽆关的数据存储⼯作,⽐如:元数据
查询就不应该放到图数据库中。
1.6 ֢ᔮᕹ的կᔮᕹ优化
I/O调度 在Linux上,驱动程序的I / O调度程序(在本例中为sda)可以在运⾏时更改,如下所示:
1.7 ᧣ෆ࣯࣍තᵞ器
使⽤G1垃圾回收器,neo4j-3.5的默认启动参数应该是G1。也可以通过jsp -lv查看⼀下。
1.8 服务ᕚᑕ的ᦡ置
为客户端(client)建⽴的每个连接都分配给连接器的线程池。ᑮᳳᬳളӧտၾᘙ๐ۓᒒጱձ֜ᩒრ ,并
且会针对来⾃客户端的消息对其进⾏监视。到达连接的每条消息都会触发线程池中可⽤线程上的连接调
度。
Bolt线程池具有最⼩和最⼤容量。 它从可⽤的最⼩线程数开始,并根据⼯作负载增⻓到最⼤数量。 闲置
超过指定时间段的线程将停⽌并从池中删除,以释放资源。 但是,池的⼤⼩永远不会低于最⼩值。
以下配置选项可⽤于配置Bolt连接器:
|