如何排查 Fargate 上 Amazon ECS 任务的 CPU 使用率较高的问题?

上次更新日期:2020 年 12 月 17 日

我想了解 AWS Fargate 上 Amazon Elastic Container Service (Amazon ECS) 任务的 CPU 使用率较高的原因。

解决方法

作为服务一部分,排查 Fargate 任务的 CPU 使用率较高的问题

  1. 使用 Amazon CloudWatch 指标查看服务级 CPU 使用率。
  2. 检查 Amazon ECS 服务中是否存在正在进行的部署。在部署过程中,随着运行的任务增加,Amazon ECS 服务的总 CPU 使用率也会增加。部署完成后,总 CPU 使用率应该会降低。

如果没有正在进行的部署,请检查以下各项:

  • 检查应用程序日志,查看您的任务是否正在执行 CPU 密集型操作。日志将导出到各个目标,具体取决于您的日志记录驱动程序。如果您使用的是 awslogs 驱动程序,则日志将导出到 CloudWatch。CPU 密集型操作会因 Fargate 任务中部署的应用程序而异。
  • 通过查看负载均衡器的 CloudWatch 指标,检查 Amazon ECS 服务的传入流量是否会增加。如果任务的流量增加,请考虑使用 Auto Scaling 来增加服务中运行的所需任务数。这允许将传入流量分配到更多任务,从而降低任务的总 CPU 使用率。

排查独立 Fargate 任务的高 CPU 使用率问题

要通过性能日志查看任务级指标,您必须启用 CloudWatch Container Insights。有关更多信息,请参阅推出适用于 Amazon ECS 的 Amazon CloudWatch Container Insights

如果应用程序的容器必须执行 CPU 密集型工作负载,请考虑升级到包含更多 vCPU 和内存的更大任务大小。有关更多信息,请参阅 AWS Fargate 定价。</p


这篇文章对您有帮助吗?


您是否需要账单或技术支持?