

# 使用 Amazon CloudWatch 指标评估 Aurora MySQL 数据库实例使用情况
<a name="AuroraMySQL.BestPractices.CW"></a>

您可以使用 CloudWatch 指标来监控数据库实例吞吐量，并确定您的数据库实例类是否为应用程序提供了足够的资源。有关数据库实例类的信息，请参阅[适用于 Aurora 的数据库实例类的硬件规格](Concepts.DBInstanceClass.Summary.md)。查找数据库实例类的规格以了解网络性能。

如果您的数据库实例使用情况接近实例类限制，则性能可能会开始变慢。CloudWatch 指标可以证实这种情况，因此您可以计划手动纵向扩展到更大的实例类。

结合使用以下 CloudWatch 指标值，看看您是否接近实例类限制：
+ **NetworkThroughput** –Aurora 数据库集群中每个实例的客户端接收和发送的网络吞吐量。此吞吐量值不包括数据库集群中的实例与集群卷之间的网络流量。
+ **StorageNetworkThroughput** – Aurora 数据库集群中每个实例从 Aurora 存储子系统接收以及发送到此子系统的网络吞吐量。

将 **NetworkThroughput** 与 **StorageNetworkThroughput** 相加，以找出 Aurora 数据库集群中每个实例从 Aurora 存储子系统接收和发送到此系统的网络吞吐量。您的实例的实例类限制应大于这两个组合指标的总和。

 在发送和接收时，您可以使用以下指标来查看来自客户端应用程序的网络流量的更多详细信息：
+ **NetworkReceiveThroughput** – Aurora MySQL 数据库集群中的每个数据库实例从客户端接收的网络吞吐量。此吞吐量不包括数据库集群中的实例与集群卷之间的网络流量。
+ **NetworkTransmitThroughput** – Aurora 数据库集群中每个实例发送到客户端的网络吞吐量。此吞吐量不包括数据库集群中的实例与集群卷之间的网络流量。
+ **StorageNetworkReceiveThroughput** – 数据库集群中每个实例从 Aurora 存储子系统接收的网络吞吐量。
+ **StorageNetworkTransmitThroughput** – Aurora MySQL 数据库集群中每个实例发送到 Aurora 存储子系统的网络吞吐量。

将所有这些指标相加，评估您的网络使用量与数据库实例类限制的对比情况。实例类限制应大于这些组合指标的总和。

网络限制和存储的 CPU 利用率是直接相关的。当网络吞吐量增加时，CPU 利用率也会增加。监控 CPU 和网络使用情况可提供有关资源耗尽的方式和原因的信息。

为帮助显著减少网络使用量，您可以考虑以下措施：
+ 使用更大的数据库实例类。
+ 批量划分写入请求以减少总体事务量。
+ 将只读工作负载定向到只读实例。
+ 删除任何未使用的索引。