【问题标题】:Reduce cost for Spring Boot projects running in AWS EC2降低在 AWS EC2 中运行的 Spring Boot 项目的成本
【发布时间】:2019-06-23 07:31:09
【问题描述】:

我们是一家物流初创公司,我们在 2 台 AWS EC2 机器上运行 12 个 Spring Boot 微服务项目。一台机器有 16GB RAM,其他机器有 8GB RAM。我们对 Prod 和 QA 有相同的设置。对于 2 个环境,总共运行 48GB RAM 的机器,我们每个月的成本都非常高。

平均而言,每个服务消耗 2GB 内存。

我们仅在白天运行 QA 服务器以降低成本。

有没有更好的方法来减少每个服务的 RAM 使用量以降低总体费用?

【问题讨论】:

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


    【解决方案1】:

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

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

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

    现在理想情况下,每个 spring 服务占用不到 400MB,而之前是 2GB。

    【讨论】:

      猜你喜欢
      • 2019-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-06
      • 1970-01-01
      • 2020-03-22
      • 1970-01-01
      • 2020-07-17
      相关资源
      最近更新 更多