

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

# CloudWatch 用于监控 Neptune 中的数据库实例性能
<a name="cloudwatch-monitoring-instances"></a>

您可以使用 Neptune 中的 CloudWatch 指标来监控数据库实例上发生的情况，并跟踪数据库观察到的查询队列长度。以下指标特别有用：
+ **`CPUUtilization`** – 显示 CPU 利用率的百分率。
+ **`VolumeWriteIOPs`**— 显示每隔 5 分钟报告的向群集卷 I/O 写入磁盘的平均次数。
+ **`MainRequestQueuePendingRequests`** – 显示在输入队列中等待执行的请求数。

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

以下指标可以帮助您调整 Neptune 预调配和查询策略，以提高效率和性能：
+ 一致的延迟`CPUUtilization`、高、高`VolumeWriteIOPs`和低`MainRequestQueuePendingRequests`共同表明，服务器正在以可持续的速度积极处理并发写入请求，几乎不需要 I/O 等待。
+ 一致的延迟、低 `CPUUtilization`、低 `VolumeWriteIOPs` 和无 `MainRequestQueuePendingRequests` 结合在一起表明，主数据库实例上有多余的容量用于处理写入请求。
+ 高 `CPUUtilization` 和高 `VolumeWriteIOPs` 但延迟和 `MainRequestQueuePendingRequests` 各不相同结合在一起表明，您发送的工作量超过了服务器在给定间隔内可以处理的工作量。考虑创建批处理请求或调整批处理请求的大小，以便以更少的事务开销完成相同的工作量，向上 and/or 扩展主实例，以增加能够同时处理写入请求的查询线程的数量。
+ “低`CPUUtilization`” 和 “高” `VolumeWriteIOPs` 表示查询线程正在等待存储层的 I/O 操作完成。如果您看到延迟可变而 `MainRequestQueuePendingRequests` 有所增加，请考虑创建批量请求或调整批量请求的大小，以便在减少事务开销的情况下完成相同的工作量。