如果我的服务超过 100% 会有什么影响 "Service CPU utilization"

What is the impact if my service exceeds 100% "Service CPU utilization"

AS per AWS docs:

Service CPU utilization = 
(Total CPU units used by tasks in service) x 100
------------------------------------------------------
(Total CPU units specified in task definition) x (number of tasks in service)

...那么让服务以 500% 的速度运行是否有任何不利的影响 服务 CPU 利用率超出我的服务做得更多 CPU 比它配置的密集工作?

换句话说:我的整个集群 运行 为 5% CPU 但我的服务为 500% CPU Util - 这会以任何方式影响底层服务性能吗?

谢谢

Service CPU Utilization 是一个方便的指标,指定 CPU 使用您的 服务,如 ECS Cluster Service。这不应与实际 CPU 使用量 每个主机 混淆,后者由该服务管理。

您设置的 CPU 单位在您的任务中定义 - 设置您希望健康任务看起来像的限制; ECS 和 CloudWatch 使用该指标来帮助您将集群保持在认为的“健康”状态。

AWS 服务使用文档:

For example, the task definition for a service specifies a total of 512 CPU units and 1,024 MiB of memory (with the hard limit memory parameter) for all of its containers. The service has a desired count of 1 running task, the service is running on a cluster with 1 c4.large container instance (with 2,048 CPU units and 3,768 MiB of total memory), and there are no other tasks running on the cluster. Although the task specifies 512 CPU units, because it is the only running task on a container instance with 2,048 CPU units, it has the ability to use up to four times the specified amount (2,048 / 512); however, the specified memory of 1,024 MiB is a hard limit and it cannot be exceeded, so in this case, service memory utilization cannot exceed 100%.

[ ... ]

If this task is performing CPU-intensive work during a period and using all 2,048 of the available CPU units and 512 MiB of memory, then the service reports 400% CPU utilization and 50% memory utilization. If the task is idle and using 128 CPU units and 128 MiB of memory, then the service reports 25% CPU utilization and 12.5% memory utilization.

所以直接回答你是否影响服务性能的问题,答案是……可能。该服务可以配置为仅了解或考虑集群中的 一些 主机 (more details)。如果您的服务根据您设置的限制报告 500% 的使用情况,但该服务有权访问的底层主机在主机级别是健康的,那么您可以认为您的服务是“健康的”。

但是,我会考虑调整您的任务配置,以更好地符合允许的 CPU 单位的正常非高峰期限制。

请记住,虽然您的集群可能会向您显示 5% 使用情况,但您的集群完全有可能有 20 台主机,其中 19 台空闲,1 台完全因您的服务而过载(同样,取决于您如何配置任务放置约束)。