Skip to content

Instantly share code, notes, and snippets.

@gbzarelli
Last active February 4, 2025 19:33
Show Gist options
  • Save gbzarelli/ada40a628da0aba1fd2fe2d864aac792 to your computer and use it in GitHub Desktop.
Save gbzarelli/ada40a628da0aba1fd2fe2d864aac792 to your computer and use it in GitHub Desktop.
Configurações de containers para aplicações JVM #helpde-blog
Configuração de Limit de CPU Vantagens Desvantagens Quando Usar
Sem Limit de CPU Permite que a JVM utilize todos os recursos disponíveis do nó, melhorando o desempenho e reduzindo contenção de CPU. Pode causar concorrência com outras cargas de trabalho no cluster, levando a variações imprevisíveis de desempenho. Recomendado para aplicações que requerem máximo desempenho e não competem por CPU com outras workloads.
Limit de CPU Definido Garante que a aplicação não utilize mais CPU do que o estipulado, proporcionando maior previsibilidade e controle. Pode causar throttling e reduzir a eficiência da JVM, especialmente para workloads de alto desempenho. Útil para clusters compartilhados onde a CPU precisa ser alocada de forma controlada entre diferentes aplicações.
Configuração de Request e Limit para memória Vantagens Desvantagens
Requests e Limits Iguais Evita picos inesperados de uso de memória, melhora a previsibilidade e reduz chances de OOMKill. Pode não aproveitar ao máximo a capacidade do nó se a aplicação puder utilizar mais memória temporariamente.
Requests e Limits Diferentes Permite que a aplicação utilize mais memória em momentos de pico. Pode levar ao encerramento abrupto pelo OOMKill se o consumo real ultrapassar a capacidade disponível no nó. Também pode causar variação imprevisível de desempenho.
Garbage Collector Latência Throughput Uso Recomendado
G1GC Média Média Equilibra latência e throughput, sendo ideal para aplicações que precisam de um desempenho consistente e uma boa relação entre tempos de resposta e consumo de recursos, como serviços web e aplicações corporativas de médio a grande porte.
ZGC Baixa Média Ideal para aplicações que necessitam de latência previsível e tempos de resposta consistentes, como plataformas de streaming, jogos online e sistemas de monitoramento em tempo real.
ParallelGC Alta Alta Indicado para workloads que priorizam alto throughput e podem tolerar pausas mais longas, como aplicações batch, processamento de grandes volumes de dados e ETL (Extract, Transform, Load).
Valor de InitialRAMPercentage Vantagens Desvantagens
Menor que 50% Reduz o consumo inicial de memória, útil para ambientes com recursos limitados Pode resultar em maior tempo de aquecimento (warm-up) devido à necessidade de expansão do heap
50% (Padrão) Equilibra consumo de memória e desempenho, evitando picos de alocação no startup Pode não ser otimizado para aplicações que exigem resposta rápida desde o início
Maior que 50% Melhora a performance inicial ao evitar expansões dinâmicas do heap Pode alocar mais memória do que o necessário, reduzindo a flexibilidade do sistema
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment