部署后,Amazon ECS 容器显示奇怪的 CPU 使用率

部署后,Amazon ECS 容器显示奇怪的 CPU 使用率

首先我想说一下,我对 AWS 的使用还很陌生。

昨天,我将我们其中一项服务的新版本部署到了我们的测试环境中。
目前大多数人都在度假,因此这个特定容器的使用率并不高。
我部署的新版本对记录器配置进行了一些更改,记录器使用了一种输出 logstash json 格式日志的新编码器。因此没有业务逻辑更改。
我部署了该服务,但由于健康检查失败了两次(尝试运行两个实例),它超时了。
我将等待时间增加了 30 秒,以查看它是否会部署,它长时间挂起,CPU 处于 100%,但最终稳定了下来。
但是,一旦稳定下来,CPU 就会在 0% 到 10% 之间运行,而且似乎相当不稳定。我让它运行了一段时间,然后决定恢复到以前的图像并调查问题可能是什么。
当我恢复到旧图像时,发生了同样的事情。在 100% 处飙升了一段时间,然后稳定下来,CPU 处于活动状态,负载约为 10%。
我把它放了一夜,但今天早上还是一样。
这可能是什么问题?在我部署新映像之前,旧映像运行正常。

我们正在使用 ECS 运行任务。
我应该注意到,该服务按预期运行,我可以查询 API 并快速获得结果。这是今天早上的健康图表:
容器健康图表 CPU 和内存

图表的平坦部分表示使用原始任务,第一个尖峰表示部署新任务,第二个尖峰表示重新部署原始任务。
这里可能存在什么问题?

以下是较长时间段内的同一张图表: 图表 CPU 和内存 1 周

答案1

我们的 ECS 服务也面临类似的问题,部署成功后,平均 CPU 峰值在 1 小时内达到 20-30%,内存趋势与您展示的相同,然后在 1 小时后稳定在 5% 左右。您能解决这个问题吗?

相关内容