Todos os produtos
Search
Central de documentação

Serverless App Engine:Melhores práticas para auto scaling do SAE

Última atualização: Jul 17, 2026

O auto scaling do SAE aumenta o número de instâncias da aplicação em segundos durante picos de tráfego e as reduz quando a demanda diminui, mantendo a estabilidade das aplicações com sobrecarga operacional mínima. Com base em um exemplo de promoção de e-commerce, este tópico aborda a implantação de aplicações, a configuração de regras de dimensionamento, o monitoramento em tempo real e a otimização pós-evento para garantir que sua plataforma lide com aumentos de demanda de forma confiável.

Fluxo de trabalho do auto scaling

A figura a seguir ilustra o fluxo de trabalho de ponta a ponta do auto scaling do SAE.

dg_best_practice_of_sae_scaling_rule

Prepare sua aplicação

  • Configure uma verificação de integridade: Garante o roteamento de tráfego para uma instância somente após ela iniciar e estar pronta para atender solicitações, mantendo a disponibilidade geral durante o dimensionamento. Para mais informações, consulte Definir uma verificação de integridade.

  • Configure o gerenciamento do ciclo de vida da aplicação: Assegure um encerramento gracioso durante o scale-in ao configurar as PreStop Settings. Para mais informações, consulte Configurar o gerenciamento do ciclo de vida da aplicação.

  • Implemente um mecanismo de backoff exponencial para chamadas de service na aplicação Java para lidar com falhas causadas por atrasos no dimensionamento, inicializações lentas ou encerramentos não graciosos.

  • Otimize a velocidade de inicialização da aplicação.

    • Otimização de pacote: Minimize fatores externos, como carregamento de classes e caching, para reduzir o tempo de inicialização.

    • Otimização de imagem: Reduza o tamanho da imagem para diminuir o tempo de pull ao criar instâncias. Utilize ferramentas open-source para analisar e simplificar as camadas da imagem.

    • Otimização de inicialização de aplicação Java: Ative a aceleração de aplicação ao criar uma aplicação no SAE selecionando o ambiente Dragonwell 11.

Configure uma política de auto scaling

Escolha métricas de dimensionamento

O SAE oferece suporte a diversas métricas do Basic Monitoring e do Application Monitoring. Configure essas métricas conforme o perfil da aplicação: intensiva em CPU, memória ou I/O.

Analise dados históricos das métricas relevantes no Basic Monitoring e no Application Monitoring — como valores de pico, P95 ou P99 nas últimas 6 horas, 12 horas, 1 dia ou 7 dias — para estimar um valor-alvo. Utilize uma ferramenta de teste de carga, como o Performance Testing Service (PTS), para avaliar a capacidade de pico da aplicação, incluindo o limite de requisições simultâneas, os requisitos de recursos (CPU e memória) e o comportamento de resposta sob alta carga.

Ao configurar uma política de auto scaling, considere os seguintes fatores:

  • Equilibre disponibilidade e custo ao definir valores-alvo para as métricas:

    • Estratégia otimizada para disponibilidade: Defina o valor da métrica em 40%.

    • Estratégia equilibrada: Defina o valor da métrica em 50%.

    • Estratégia otimizada para custo: Defina o valor da métrica em 70%.

  • Revise dependências como services upstream e downstream, middleware e bancos de dados. Configure políticas de dimensionamento correspondentes ou mecanismos de throttling e degradação para manter a disponibilidade de ponta a ponta durante o scale-out.

Após configurar a política de dimensionamento, monitore e ajuste-a para alinhar a capacidade à carga real da aplicação. Para mais informações sobre monitoramento, consulte Visualizar dados do Basic Monitoring.

Configure métricas de memória

Para aplicações Java, a otimização de runtime melhora a correlação entre métricas de memória e carga de negócios ao liberar memória física. O uso do runtime Dragonwell com o parâmetro JVM ElasticHeap permite o dimensionamento dinâmico da memória heap do Java, reduzindo o consumo de memória física em tempo de execução. Para mais informações sobre o ElasticHeap, consulte G1ElasticHeap.

Recomendamos o modo Dragonwell+ElasticHeap Periodic uncommit (automático). Para etapas detalhadas, consulte Implantar uma aplicação Java e Definir um comando de inicialização.

  • Ambiente Java: Na seção Configure JAR Package, selecione uma configuração Dragonwell na lista suspensa Java Environment.配置Jar包

  • Parâmetro JVM: Na seção Startup Command Settings, insira -XX:+ElasticHeapPeriodicUncommit.启动参数

Nota

O dimensionamento baseado em memória não é adequado para algumas aplicações que usam gerenciamento dinâmico de memória, como aquelas dependentes do gerenciamento de memória da JVM Java ou de operações Malloc e Free do Glibc. Se essas aplicações não liberarem prontamente a memória ociosa para o sistema operacional, o consumo de memória da instância não diminuirá em tempo real. Isso também pode impedir o acionamento do scale-in, pois o consumo médio de memória entre as instâncias permanece alto.

Configure a contagem de instâncias

  • Mínimo de instâncias

    Defina a contagem mínima de instâncias como 2 ou mais e configure vSwitches em várias zonas. Essa configuração evita tempo de inatividade da aplicação caso uma instância seja removida devido a uma falha de nó ou se não houver instâncias disponíveis em uma zona.

  • Máximo de instâncias

    Garanta que a contagem máxima de instâncias seja menor ou igual ao número de endereços IP disponíveis no vSwitch para evitar falhas de scale-out causadas pelo esgotamento de endereços IP.

    Verifique os endereços IP disponíveis para a aplicação atual na seção Application Information da página Basic Information. Se a quantidade for baixa, substitua ou adicione um vSwitch.

    应用信息

Acompanhe o processo de auto scaling

Limite máximo de instâncias

Na página Overview da aplicação, visualize o status do auto scaling. Monitore aplicações que atingem o limite máximo de instâncias e reavalie a configuração de dimensionamento correspondente.

弹性生效的应用

Nota

Se uma única aplicação precisar fazer scale-out para mais de 50 instâncias, entre no grupo do DingTalk (ID do grupo: 32874633) para solicitar a inclusão na lista de permissões.

Rebalanceamento de zonas

Após um evento de scale-in, as instâncias podem ficar distribuídas de forma desigual entre as zonas. Visualize a zona de cada instância na lista de instâncias na página Basic Information da aplicação. Caso a distribuição esteja desequilibrada, acione o rebalanceamento de zonas executando uma Restart em uma instância.

vSwitch

Retomada automática

Ao executar uma ordem de alteração, como implantar uma aplicação, o SAE pausa temporariamente a política de auto scaling dessa aplicação para evitar conflitos. Para restaurar a política automaticamente após a conclusão da ordem de alteração, selecione Automatic na página Deploy Application.

恢复自动弹性方式

Manutenção do auto scaling

Eventos da aplicação

Na página Application Events, acompanhe o comportamento do auto scaling do SAE, incluindo o horário e o tipo das ações de dimensionamento. Use essas informações para avaliar e ajustar a política de dimensionamento conforme necessário. Para mais informações, consulte Visualizar eventos da aplicação.

应用事件

Gráfico de tendência de instâncias da aplicação

Na página Basic Information da aplicação, a aba Basic Information contém o Application Instance Trend Chart. Esse gráfico exibe as métricas de monitoramento dos últimos 7 dias, incluindo utilização de CPU, uso de memória, conexões TCP ativas, requisições de service e tempo médio de resposta.

sc_pod_trend_indicator_chart