neo4j内存/JVM设置
我在CENTOS机器上运行neo4j 2.3,带有27g内存。 db大小约为10g(目前),我希望neo4j能够尽快工作 如果以下设置正常,请给出建议?(我是JAVA新手) 还有以下JVM操作系统选项:neo4j内存/JVM设置,neo4j,Neo4j,我在CENTOS机器上运行neo4j 2.3,带有27g内存。 db大小约为10g(目前),我希望neo4j能够尽快工作 如果以下设置正常,请给出建议?(我是JAVA新手) 还有以下JVM操作系统选项: java -XX:+PrintFlagsFinal -version | grep -e '\(Initial\|Max\)HeapSize' uintx InitialHeapSize := 24696061952 {product} uintx MaxHeapSize
java -XX:+PrintFlagsFinal -version | grep -e '\(Initial\|Max\)HeapSize'
uintx InitialHeapSize := 24696061952 {product}
uintx MaxHeapSize := 24696061952 {product}
***我不知道为什么我在htop中看到neo4j占用了24g虚拟内存。我假设您使用的是最新的稳定neo4j版本(2.3.1) 您可能感兴趣的链接:
- 好的磁盘(最好是SSD)。磁盘速度慢会降低性能。 有一个很好的结构帖子:。另外:通过官方Neo4j文件李>
- 最大打开文件数()
- 网络。应用程序和服务器应位于一个本地网络中。驱动程序使用HTTP REST API与Neo4j数据库通信。所以,若您不在本地网络中,那个么长请求可能会降低性能
- 始终使用指定的参数执行cypher。现在,在2.3.0中,密码在第一次执行时被编译成字节码。若您的查询已参数化,那个么它允许数据库重用已编译的密码版本。原始(第一)密码查询执行性能可能非常差
- 缓存分片。如果您的数据库足够大,并且不适合内存,并且您正在使用集群部署,那么您可以从使用缓存分片中获益。基本上,您需要做的是将请求路由到相同的数据,路由到相同的服务器。这将允许Neo4j将最常用的数据保存在缓存中。当每台服务器的缓存中都有自己的数据块时,就会出现这种情况
- -设置此选项可指定无法满足Cypher planner或运行时提示时的行为
- -缓存的密码查询执行计划数
- -迭代期间一次读取多少关系
- 好的磁盘(最好是SSD)。磁盘速度慢会降低性能。 有一个很好的结构帖子:。另外:通过官方Neo4j文件李>
- 最大打开文件数()
- 网络。应用程序和服务器应位于一个本地网络中。驱动程序使用HTTP REST API与Neo4j数据库通信。所以,若您不在本地网络中,那个么长请求可能会降低性能
- 始终使用指定的参数执行cypher。现在,在2.3.0中,密码在第一次执行时被编译成字节码。若您的查询已参数化,那个么它允许数据库重用已编译的密码版本。原始(第一)密码查询执行性能可能非常差
- 缓存分片。如果您的数据库足够大,并且不适合内存,并且您正在使用集群部署,那么您可以从使用缓存分片中获益。基本上,您需要做的是将请求路由到相同的数据,路由到相同的服务器。这将允许Neo4j将最常用的数据保存在缓存中。当每台服务器的缓存中都有自己的数据块时,就会出现这种情况
- -设置此选项可指定无法满足Cypher planner或运行时提示时的行为
- -缓存的密码查询执行计划数
- -迭代期间一次读取多少关系
java -XX:+PrintFlagsFinal -version | grep -e '\(Initial\|Max\)HeapSize'
uintx InitialHeapSize := 24696061952 {product}
uintx MaxHeapSize := 24696061952 {product}