使用软限制自动扩展AWS ECS 服务

使用软限制自动扩展AWS ECS 服务

根据服务使用文档在 ECS 任务中使用软限制时,内存利用率可能会超过 100%(因为您不想用硬限制终止您的应用程序)。对于 CPU 利用率,这始终是正确的。例如,我们有一个微服务,其软限制为 500MB,并且该任务的两个实例报告内存使用率为 124%。启动第三个实例会使使用率降至 103%。

Docker 统计数据证实了这些数据:

CONTAINER           CPU %               MEM USAGE / LIMIT       MEM % 
6f5cd837b3d7        0.64%               670.1 MiB / 3.862 GiB   16.94%
817c573afac7        9.66%               590.3 MiB / 3.862 GiB   14.93%
7a50d1be6e6e        20.34%              427.1 MiB / 3.862 GiB   10.80%

但是,这确实使得自动扩展变得非常困难。例如,CPU 利用率为 400% 可能意味着有足够的 CPU 可用,我不需要新实例,而 CPU 利用率为 100% 可能意味着所有任务都在使用其保留的 CPU 单元,我可能需要新实例(新的 EC2 实例或新的任务实例)。

这有意义吗?当仅使用软限制时,ECS 上基于 CPU 和内存指标进行自动扩展的逻辑规则是什么?

相关内容