使用 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有所增加,请考虑创建批量请求或调整批量请求的大小,以便在减少事务开销的情况下完成相同的工作量。