知识库

标记为 性能 的文章

解释 Neo4j 的 debug.log 中的 E_COUNT_EXCEEDED 警告消息。

本文档旨在解释 Neo4j 可能写入其 debug.log 的 E_COUNT_EXCEEDED 警告消息。它还提供了一些监控和故障排除选项。在运行 Neo4j 因果集群时,…

阅读更多

限制 Bolt 请求

当在 Neo4j 数据库和客户端之间发送大量数据时(通常是大查询结果,从服务器到客户端),有一些隐藏的限制机制…

阅读更多

笛卡尔积 Cypher 查询的性能不佳

就像 SQL 一样,如果您没有正确连接查询的各个部分,它将导致笛卡尔积,而这通常不是您想要的。例如…

阅读更多

如何诊断锁定问题

从 Neo4j 3.4 开始,可以更好地理解由并发查询引起的锁定问题。本文档不会详细介绍 Neo4j 中锁定的基础知识。我们假设…

阅读更多

诊断存储性能问题

缓慢的存储会影响 Neo4j 的性能,因此我们建议在产品文档中使用固态硬盘。对底层系统进行基准测试在 Ubuntu 或 RedHat 上,可以使用 fio 工具…

阅读更多

已停用:如何在备份期间跳过一致性检查?

Neo4j 中的备份会自动对备份的存储执行一致性检查。备份本身不会花费太长时间,但一致性检查可能需要更长的时间来…

阅读更多

如何提高节点上关系数量计数的性能

使用 Cypher,可以如下方式计算关系数量这将报告名为 Sylvester Stallone 的 Actor 的传入/传出关系的数量。使用 bin/neo4j-shell 并运行…

阅读更多

如何手动运行一致性检查?

如果您跳过 neo4j-backup 的一致性检查部分,或者您想检查数据存储是否一切正常,您可以针对脱机…运行该工具。

阅读更多

如何配置堆外事务状态

从 Neo4j 3.5 开始,可以将一些事务数据存储在堆外内存中。这可以帮助减少 GC 压力和/或防止在有限的…情况下发生 OOM 崩溃。

阅读更多

已停用:如何手动清除节点和关系缓存

在排查瞬态问题或在热缓存与冷缓存上测试查询时,您可能希望尝试清除缓存,而不必重新启动 Neo4j 数据库。为了实现…

阅读更多

Linux 内存不足杀手

内存不足杀手或 OOM 杀手是 Linux 内核在系统内存严重不足时采用的一个进程。这种情况发生是因为 Linux…

阅读更多

锁定管理器差异说明

正在进行中社区:使用 Java 本地锁,即“synchronized”。这在多处理器机器上可能性能不佳使用 Thread.sleep() 和 Thread.interrupt() 来等待锁。这涉及上下文…

阅读更多

对多个节点执行模式否定

某些用例需要匹配未连接到某些其他节点集的任何节点。我们将讨论这种查询的不正确和正确方法。…

阅读更多

在 Windows 上运行复制存储工具

复制存储实用程序是一套用于压缩、复制、修复和分析 Neo4j 存储的工具。您可能已经知道这一点,但如果您不知道,您可以阅读更多关于…的信息。

阅读更多

通过理解基数来调整 Cypher 查询

基数问题是 Cypher 查询缓慢或不正确的最常见原因。因此,理解基数并利用这种理解来管理基数问题是…的关键组成部分。

阅读更多

了解内存消耗

因此,您已将 Neo4j 配置为使用 4GB 的堆和 6GB 的页面缓存,并放松身心,认为 Java 进程在您的…中不会超过 10GB。

阅读更多

了解 Neo4j 查询计划缓存

本文档基于 Neo4j 2.3.2 的行为。查询计划缓存由三个参数控制,如 conf/neo4j.properties 文件中所定义,此处详细介绍了这些参数。这三个…

阅读更多

了解查询计划缓存

当第一次提交 Cypher 语句时,Neo4j 将尝试确定该查询是否在计划缓存中,然后再对其进行计划。默认情况下,Neo4j 将保留 1000 个查询…

阅读更多

了解事务和锁定超时

处理失控查询的一种方法是设置一个时间限制,当查询超过该限制时就会终止。这里有一些需要注意的细节,需要了解才能…

阅读更多

使用子查询控制聚合的范围

聚合函数,例如 collect() 和 count(),在查询计划中显示为 EagerAggregation 运算符(带有深蓝色标题)。这类似于 Eager 运算符,因为它提供了一个…

阅读更多

预热缓存以提高冷启动后的性能

注意:对于 3.5.x 及更高版本,以下详细信息不再适用,因为 Neo4j 将始终记录 pagecache 中的内容,并在 Neo4j 重启时…

阅读更多