ECS 任务为啥不扩容?
Posted
技术标签:
【中文标题】ECS 任务为啥不扩容?【英文标题】:Why doesn't ECS task scale up?ECS 任务为什么不扩容? 【发布时间】:2020-01-08 00:54:32 【问题描述】:我在 AWS ECS 中创建了一个服务,并将最大任务数配置为 30。所需的任务数为 2。我还将 CPUUtilization >= 75 配置为纵向扩展,将 CPUUtilization
我使用Artillery
每秒向我在 ECS 上的服务发送 200 个请求,我可以看到 CPU 使用率达到 100%。此测试持续 2 分钟,因此总共有 24000 个请求。
但是服务下的任务数始终是2。似乎服务从来没有根据CPU使用率进行扩展。我想知道我在配置中还漏掉了什么。
【问题讨论】:
检查您是否有“停止”的任务。可能是它试图扩大规模,但由于资源分配等其他一些限制,它无法在“停止”的任务下启动和稳定下来。 CPU 100 % 持续多长时间?应该是在触发警报之前的这段时间。 不到2分钟就达到100% cpu @LeoPrince 我检查了没有停止的任务 【参考方案1】:在 CloudWatch > 警报中检查您的警报,您可以在那里查看警报是否真的触发了。您还将看到一个阈值描述,例如“CPUUtilization
我的猜测是您的阈值配置错误。 IE。您在太长的时间内检查了太多的数据点。从“1 分钟内 1 个数据点”之类的内容开始,然后从那里开始工作。
它还有助于检查 EC2 > Auto Scaling 组中的“活动历史记录”。与 CloudWatch 一起,这通常可以让您很好地了解已扩展(或未扩展)的内容以及原因。
【讨论】:
以上是关于ECS 任务为啥不扩容?的主要内容,如果未能解决你的问题,请参考以下文章
Celery:AWS ECS Autoscale 缩减事件(如何不破坏长时间运行的任务?)