AWS Compute Optimizer 分析的指标
选择加入后,AWS Compute Optimizer 会分析过去 14 天内运行的资源的规格(例如 vCPU、内存或存储)以及 CloudWatch 指标。如果激活增强型基础设施指标建议首选项,则 AWS Compute Optimizer 会分析长达 93 天期间的资源。
分析可能需要长达 24 小时才能完成。分析完成后,结果会显示在 Compute Optimizer 控制台的控制面板页面上。有关更多信息,请参阅使用 AWS Compute Optimizer 控制面板。
注意
-
为生成针对 Amazon EC2 实例、自动扩缩组、Amazon EBS 卷、Lambda 函数和商用软件许可证的建议,Compute Optimizer 在回顾期内使用每 5 分钟时间间隔内的最大利用率点。为生成针对 Fargate 上 ECS 服务的建议,Compute Optimizer 使用每 1 分钟时间间隔内的最大利用率点。
-
AWS 可能会使用利用率数据来帮助提高 Compute Optimizer 建议的整体质量。要使 AWS 停止使用利用率数据,请联系 AWS Support
。
EC2 实例指标
为 EC2 实例分析的指标
Compute Optimizer 会分析 EC2 实例(包括属于自动扩缩组的实例)的以下 CloudWatch 指标。
指标 | 描述 |
---|---|
CPUUtilization
|
正在实例上使用的已分配 EC2 计算单位的百分比。此指标确定在实例上运行应用程序所需的处理能力。 |
MemoryUtilization
|
采样期间使用的内存百分比。此指标确定在实例上运行应用程序所需的内存。 内存利用率指标是针对以下资源分析的:
|
GPUUtilization
|
当前正在实例上使用的已分配 GPU 的百分率。 注意要允许 Compute Optimizer 分析实例的 GPU 利用率指标,请在实例上安装 CloudWatch 代理。有关更多信息,请参阅使用 CloudWatch 代理启用 NVIDIA GPU 利用率。 |
GPUMemoryUtilization
|
当前正在实例上使用的总 GPU 内存的百分率。 |
NetworkIn
|
实例在所有网络接口上接收的字节数。此指标用于确定流向实例的传入网络流量。 |
NetworkOut
|
实例在所有网络接口上发送的字节数。此指标用于确定来自实例的传出网络流量。 |
NetworkPacketsIn
|
实例接收的数据包的数量。 |
NetworkPacketsOut
|
实例发送的数据包的数量。 |
DiskReadOps
|
实例的实例存储卷的每秒读取操作数。 |
DiskWriteOps
|
实例的实例存储卷的每秒写入操作数。 |
DiskReadBytes
|
实例的实例存储卷的每秒读取字节数。 |
DiskWriteBytes
|
实例的实例存储卷的每秒写入字节数。 |
VolumeReadBytes
|
附加到实例的 EBS 卷的每秒读取字节数。在控制台中以 KiB 为单位显示。 |
VolumeWriteBytes
|
附加到实例的 EBS 卷的每秒写入字节数。在控制台中以 KiB 为单位显示。 |
VolumeReadOps
|
附加到实例的 EBS 卷的每秒读取操作数。 |
VolumeWriteOps
|
附加到实例的 EBS 卷的每秒写入操作数。 |
有关实例指标的更多信息,请参阅《Amazon Elastic Compute Cloud 用户指南》中的列出实例的可用 CloudWatch 指标。有关 EBS 卷指标的更多信息,请参阅《Amazon Elastic Compute Cloud 用户指南》中的 Amazon EBS 的 Amazon CloudWatch 指标。
使用 CloudWatch 代理启用内存利用率
要使 Compute Optimizer 分析实例的内存利用率指标,请在实例上安装 CloudWatch 代理。使 Compute Optimizer 分析实例的内存利用率数据,可以对数据进行额外衡量,从而进一步改进 Compute Optimizer 的建议。有关安装 CloudWatch 代理的更多信息,请参阅《Amazon CloudWatch 用户指南》中的使用 CloudWatch 代理从 Amazon EC2 实例和本地服务器收集指标和日志。
在 Linux 实例上,Compute Optimizer 会分析 CWAgent
命名空间中的 mem_used_percent
指标或 System/Linux
命名空间中的旧 MemoryUtilization
指标。在 Windows 实例上,Compute Optimizer 会分析 CWAgent
命名空间中的 Available MBytes
指标。如果在 CWAgent
命名空间中同时配置了 Available MBytes
和 Memory % Committed Bytes In Use
指标,则 Compute Optimizer 会选择 Available MBytes
作为主要内存指标来生成建议。
注意
-
建议您将
CWAgent
命名空间配置为使用Available MBytes
作为 Windows 实例的内存指标。 -
Compute Optimizer 还支持
Available KBytes
和Available Bytes
指标,并且在生成针对 Windows 实例的建议时,优先考虑这两个指标而不是Memory % Committed Bytes In Use
指标。
此外,命名空间必须包含 InstanceId
维度。如果缺少 InstanceId
维度或者您使用自定义维度名称将其覆盖,则 Compute Optimizer 将无法收集实例的内存利用率数据。命名空间和维度在 CloudWatch 代理配置文件中定义。有关更多信息,请参阅《Amazon CloudWatch 用户指南》中的创建 CloudWatch 代理配置文件。
示例:用于内存收集的 CloudWatch 代理配置
{ "agent": { "metrics_collection_interval": 60, "run_as_user": "root" }, "metrics": { "namespace": "CWAgent", "append_dimensions": { "InstanceId": "${aws:InstanceId}" }, "metrics_collected": { "mem": { "measurement": [ "mem_used_percent" ], "metrics_collection_interval": 60 } } } }
使用 CloudWatch 代理启用 NVIDIA GPU 利用率
允许 Compute Optimizer 分析实例的 NVIDIA GPU 利用率指标:
-
在实例上安装 CloudWatch 代理。有关更多信息,请参阅《Amazon CloudWatch 用户指南》中的安装 CloudWatch 代理。
-
允许 CloudWatch 代理收集 NVIDIA GPU 指标。有关更多信息,请参阅《Amazon CloudWatch 用户指南》中的收集 NVIDIA GPU 指标。
Compute Optimizer 分析以下 NVIDIA GPU 指标:
-
nvidia_smi_utilization_gpu
-
nvidia_smi_memory_used
-
nvidia_smi_encoder_stats_session_count
-
nvidia_smi_encoder_stats_average_fps
-
nvidia_smi_encoder_stats_average_latency
-
nvidia_smi_temperature_gpu
命名空间必须包含 InstanceId
维度和 index
维度。如果缺少这些维度或者您使用自定义维度名称将其覆盖,则 Compute Optimizer 将无法收集实例的 GPU 利用率数据。命名空间和维度在 CloudWatch 代理配置文件中定义。有关更多信息,请参阅《Amazon CloudWatch 用户指南》中的创建 CloudWatch 代理配置文件。
配置外部指标摄取
您可以使用外部指标摄取功能配置 AWS Compute Optimizer,以便从以下四种可观测性产品之一中摄取 EC2 内存利用率指标:Datadog、Dynatrace、Instana 和 New Relic。启用外部指标摄取后,Compute Optimizer 会分析外部 EC2 内存利用率指标以及 CPU、磁盘、网络、IO 和吞吐量数据,以生成 EC2 大小优化建议。这些建议可以为您节省更多成本并提高性能。有关更多信息,请参阅外部指标摄取。
EBS 卷指标
Compute Optimizer 会分析 EBS 卷的以下 CloudWatch 指标。
指标 | 描述 |
---|---|
VolumeReadBytes
|
EBS 卷的每秒读取字节数。 |
VolumeWriteBytes
|
EBS 卷的每秒写入字节数。 |
VolumeReadOps
|
EBS 卷的每秒读取操作数。 |
VolumeWriteOps
|
EBS 卷的每秒写入操作数。 |
有关这些指标的更多信息,请参阅《Amazon Elastic Compute Cloud 用户指南》中的 Amazon EBS 的 Amazon CloudWatch 指标。
Lambda 函数指标
Compute Optimizer 会分析 Lambda 函数的以下 CloudWatch 指标。
指标 | 描述 |
---|---|
Invocations
|
函数代码的执行次数,包括成功的执行和导致出现函数错误的执行。 |
Duration
|
函数代码处理事件所花费的时间量。 |
Errors
|
导致出现函数错误的调用的次数。函数错误包括您的代码所引发的异常和 Lambda 运行时所引发的异常。运行时返回因超时和配置错误等问题导致的错误。 |
Throttles
|
受限制的调用请求数。 |
有关这些指标的更多信息,请参阅《AWS Lambda 开发人员指南》中的使用 AWS Lambda 函数指标。
除了这些指标外,Compute Optimizer 还会分析函数在回顾期间的内存利用率。有关 Lambda 函数的内存利用率的更多信息,请参阅 AWS 管理和治理博客 中的使用 Amazon CloudWatch Logs Insights 了解 AWS Lambda 行为
Fargate 上 Amazon ECS 服务的指标
Compute Optimizer 会分析 Fargate 上 Amazon ECS 服务的以下 CloudWatch 和 Amazon ECS 利用率指标。
指标 | 描述 |
---|---|
CPUUtilization
|
服务中使用的 CPU 容量的百分比。 |
MemoryUtilization
|
服务中使用的内存的百分比。 |
有关这些指标的更多信息,请参阅《适用于 AWS Fargate 的 Amazon ECS 用户指南》中的 Amazon ECS CloudWatch 指标。
商用软件许可证的指标
Compute Optimizer 会分析以下指标,以为商用软件许可证生成建议。
mssql_enterprise_features_used
- 所使用的 Microsoft SQL Server 企业版功能的数量。功能如下:
-
128 GB 以上内存用于缓冲池扩展
-
超过 48 个 vCPU
-
包含 1 个以上数据库的 Always On 可用性组
-
异步提交副本
-
只读副本
-
异步数据库镜像
-
tempdb
内存优化的元数据已启用 -
R 或 Python 扩展
-
点对点复制
-
资源管理器
RDS 数据库实例指标
Compute Optimizer 会分析 Amazon RDS 数据库实例的以下 CloudWatch 指标。
指标 | 描述 |
---|---|
CPUUtilization
|
数据库实例上正在使用的已分配计算单元的百分比。此指标确定在实例上运行应用程序所需的处理能力。 |
DatabaseConnections
|
连接到数据库实例的客户端会话数。 |
NetworkReceiveThroughput
|
数据库实例的传入(接收)网络流量,包括用于监控和复制的客户数据库流量和 Amazon RDS 流量。 |
NetworkTransmitThroughput
|
数据库实例的传出(传输)网络流量,包括用于监控和复制的客户数据库流量和 Amazon RDS 流量。 |
ReadIOPS
|
每秒平均磁盘读取 I/O 操作数。 |
WriteIOPS
|
每秒平均磁盘写入 I/O 操作数。 |
ReadThroughput
|
每秒从磁盘读取的平均字节数。 |
WriteThroughput
|
每秒写入磁盘的平均字节数。 |
EBSIOBalance%
|
RDS 数据库突增存储桶中剩余的 I/O 积分的百分比 此指标仅对基本监控可用。 |
EBSByteBalance%
|
RDS 数据库突增存储桶中剩余的吞吐量积分的百分比 此指标仅对基本监控可用。 |
FreeStorageSpace
|
可用存储空间的大小。 |
如果启用了 Amazon RDS 性能详情,Compute Optimizer 还会分析 Amazon RDS 数据库实例的以下指标。要为您的数据库实例启用性能详情,请参阅《Amazon Relational Database Service 用户指南》中的为 Amazon RDS 打开和关闭 Performance Insights。
注意
如果未启用性能详情,则 Compute Optimizer 不会为过度预置的 RDS 数据库实例提供建议。
指标 | 描述 |
---|---|
DBLoad
|
数据库中的会话活动级别。有关更多信息,请参阅《Amazon Relational Database Service 用户指南》中的数据库负载。 |
os.swap.in
|
从磁盘换入的内存量(以 KB 为单位)。 |
os.swap.out
|
换出到磁盘的内存量(以 KB 为单位)。 |
有关 Amazon RDS 指标的更多信息,请参阅《Amazon Relational Database Service 用户指南》中的 Amazon RDS 的指标参考。