Somos uma startup de logística e estamos executando 12 projetos de microsserviço Spring Boot em 2 máquinas AWS EC2. 1 máquina tem 16 GB de RAM e a outra tem 8 GB de RAM. Temos a mesma configuração para Prod e QA. Para 2 ambientes, máquinas totalmente com 48 GB de RAM estão funcionando, o que nos custa muito caro a cada mês.
Em média, cada serviço consome 2 GB de memória.
Estamos executando servidores de controle de qualidade apenas durante o dia para reduzir o custo.
Existe alguma maneira melhor de reduzir o uso de RAM por serviço para reduzir as despesas gerais?
Limitamos a quantidade de memória que cada serviço Spring ocupa quando iniciamos o serviço.
Aqui está o que usamos. Isso também aumentará o heap em apenas 20% quando a memória precisar aumentar e liberará a memória em 40% quando for necessário diminuir.
java -XX:MinHeapFreeRatio=20 -XX:MaxHeapFreeRatio=40 -XX:MaxRAM=400m -jar java-service.jar
Agora, o ideal é que cada serviço de primavera ocupe menos de 400 MB, o que era 2 GB antes.
Este artigo é coletado da Internet.
Se houver alguma infração, entre em [email protected] Delete.
deixe-me dizer algumas palavras