降低在AWS EC2中运行的Spring Boot项目的成本

时间:2019-01-30 04:41:45

标签: spring amazon-web-services spring-boot tomcat amazon-ec2

我们是一家物流初创公司,我们正在2台AWS EC2计算机上运行12个Spring Boot微服务项目。一台计算机具有16GB RAM,其他计算机具有8GB RAM。我们为Prod和QA设置了相同的设置。在2种环境中,总共有48GB RAM计算机正在运行,这使我们每个月的成本很高。

平均每个服务消耗2GB的内存。

我们仅在白天运行质量检查服务器,以降低成本。

是否有更好的方法来减少每项服务的RAM使用量以减少总费用?

1 个答案:

答案 0 :(得分:0)

我们限制了每个Spring服务在启动服务时占用的内存量。

这是我们使用的。当内存需要增长时,这也只会使堆增加20%,而在需要缩小时将释放40%的内存。

java -XX:MinHeapFreeRatio=20 -XX:MaxHeapFreeRatio=40 -XX:MaxRAM=400m -jar java-service.jar

现在理想情况下,每个春季服务占用的内存少于400MB,而之前的容量为2GB。