基本指标
为确保应用程序平稳运行,您应监控:
-
服务器负载 — 托管 Neo4j 的机器的压力。
-
Neo4j 负载 — Neo4j 承受的压力。
-
集群健康状况 — 确保集群按预期工作。
-
Neo4j 实例的工作负载。
建议阅读性能部分,以更好地理解这些指标。 |
服务器负载指标
监控硬件资源可以显示运行 Neo4j 的服务器所承受的压力。
您可以使用实用工具,例如 Linux 上的 collectd 守护程序或 systemd
,来收集系统信息。随着工作负载的增长,这些指标有助于容量规划。
指标名称 | 描述 | ||
---|---|---|---|
CPU 使用率 |
如果达到 100%,您可能需要额外的 CPU 容量。 |
||
已用内存 |
此指标告诉您是否接近用尽服务器上所有可用内存。请确保峰值在 95% 或以下,以降低内存耗尽的风险。有关更多信息,请参阅内存配置。 |
||
可用磁盘空间 |
观察数据增长速度,以便在耗尽存储空间之前规划额外的存储。这适用于 Neo4j 写入的所有磁盘。您也可以选择将日志文件写入不同的磁盘。
|
Neo4j 负载指标
Neo4j 负载指标监控 Neo4j 所承受的压力。它们有助于容量规划。
指标名称 | 指标 | 描述 |
---|---|---|
堆使用情况 |
|
如果 Neo4j 持续使用 100% 的堆,请增加初始和最大堆大小。有关更多信息,请参阅内存配置。 |
页缓存 |
|
当请求未命中页缓存时,数据必须从慢得多的磁盘中获取。理想情况下,命中率 (hit_ratio) 大部分时间应高于 98%。这显示了分配给页缓存的内存使用了多少。如果达到 100%,请考虑增加页缓存大小。 |
JVM 垃圾回收 |
|
JVM 用于回收堆而非执行其他工作的时间比例。当数据库内存不足时,此指标可能会急剧上升。如果发生这种情况,它可能会停止处理并导致查询执行错误。如果出现这种情况,请考虑增加数据库的大小。 |
检查点时间 |
|
您应该监控检查点持续时间,以确保它不会开始接近检查点之间的间隔。如果发生这种情况,请考虑以下步骤来提高检查点性能:
|
Neo4j 集群健康指标
集群健康指标可以一目了然地显示集群成员的健康状况。了解哪个实例是领导者至关重要。领导者的负载模式与追随者不同,追随者应表现出相似的负载模式。
指标名称 | 指标 | 描述 |
---|---|---|
领导者 |
|
为每个数据库主实例跟踪此项。如果它不是领导者,则报告 |
事务工作负载 |
|
上次提交事务的 ID。为每个 Neo4j 实例跟踪此项。它可能会分成单独的图表。它应该显示一条持续增长的线,如果其中一条线趋于平稳或落后,则很明显此实例不再复制数据,需要采取措施纠正这种情况。 |
有关如何监控集群端点以获取状态信息的更多信息。
工作负载指标
这些指标有助于监控 Neo4j 实例的工作负载。它们的绝对值取决于您预期的工作负载类型。
指标名称 | 指标 | 描述 |
---|---|---|
Bolt 连接 |
|
当前正在执行 Cypher 并返回结果的连接数。 |
总节点/关系数 |
|
(默认未启用) 唯一关系类型的总数。唯一属性名称的总数。关系的总数。节点的总数。 |
吞吐量 |
|
此指标生成 99 和 95 百分位事务延迟的直方图。有助于识别数据负载的峰值或增加。 |
有关 Neo4j 中所有可用指标的完整列表,请参阅指标参考。 |