【发布时间】:2021-06-17 18:45:23
【问题描述】:
我在 Spring Boot 中有一个微服务,它部署在 ECS 中带有 corretto 11 的容器中。
组件以 512MB 部署,其初始消耗接近 50%,随着流量增加,内存增加且从未释放,以至于 ECS 中的任务崩溃,必须启动新的任务。
下图显示了内存随时间的行为,随着流量的增加,ECS 中的任务启动的时间越来越少。
Memory Consumption in a Container on AWS ECS
Spring Boot 版本:2.4.3 JDK 图片:Corretto 11
更新:
我对堆转储进行了探查和分析,发现 Spring 库的消耗量很高。
【问题讨论】:
-
我怀疑,作为资源处理的一部分发生了一些密集的 IO 操作,您必须检查是否可以从代码角度进行优化,或者如果这是业务案例,那么您必须设置规则要根据内存占用进行升级,也可以根据 RAM CPU 使用率选择突发实例
标签: spring-boot amazon-ecs aws-fargate corretto