CloudWatch 用于监控 Neptune 中的数据库实例性能 - Amazon Neptune

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

CloudWatch 用于监控 Neptune 中的数据库实例性能

您可以使用 Neptune 中的 CloudWatch 指标来监控数据库实例上发生的情况,并跟踪数据库观察到的查询队列长度。以下指标特别有用:

  • CPUUtilization— 显示CPU利用率百分比。

  • VolumeWriteIOPs – 显示集群卷的磁盘 I/O 写入的平均数量,每隔 5 分钟报告一次。

  • MainRequestQueuePendingRequests – 显示在输入队列中等待执行的请求数。

还可以使用带有 includeWaiting 参数的 Gremlin 查询状态端点来了解服务器上有多少个待处理的请求。这将为您提供所有正在等待的查询的状态。

以下指标可以帮助您调整 Neptune 预调配和查询策略,以提高效率和性能:

  • 一致的延迟、高 CPUUtilization、高 VolumeWriteIOPs 和低 MainRequestQueuePendingRequests 结合在一起表明,服务器正在以可持续的速率积极处理并发写入请求,几乎没有 I/O 等待。

  • 一致的延迟、低 CPUUtilization、低 VolumeWriteIOPs 和无 MainRequestQueuePendingRequests 结合在一起表明,主数据库实例上有多余的容量用于处理写入请求。

  • CPUUtilization 和高 VolumeWriteIOPs 但延迟和 MainRequestQueuePendingRequests 各不相同结合在一起表明,您发送的工作量超过了服务器在给定间隔内可以处理的工作量。考虑创建批量请求或调整批量请求的大小,以便以更少的事务开销完成相同的工作量和/或扩展主实例的规模,从而增加能够同时处理写入请求的查询线程的数量。

  • CPUUtilization 以及高 VolumeWriteIOPs 表明,查询线程正在等待到存储层的 I/O 操作完成。如果您看到延迟可变而 MainRequestQueuePendingRequests 有所增加,请考虑创建批量请求或调整批量请求的大小,以便在减少事务开销的情况下完成相同的工作量。