O dimensionamento automático horizontal ajusta as réplicas do serviço com base em métricas em tempo real para manter o desempenho e otimizar o uso de recursos.
Como funciona
O dimensionamento automático horizontal ajusta dinamicamente o número de réplicas com base nos limiares das métricas configuradas.
-
Cálculo de réplicas de destino: O sistema calcula o número de réplicas de destino (desiredReplicas) com base na proporção entre o valor atual da métrica (currentMetricValue) e o valor desejado da métrica (desiredMetricValue), multiplicada pelo número atual de réplicas (currentReplicas).
Fórmula:
desiredReplicas = ceil[currentReplicas × ( currentMetricValue / desiredMetricValue )]Exemplo: Com 2 réplicas atuais e o QPS Threshold of Individual Instance definido como 10, quando o QPS médio por réplica sobe para 23, o número de réplicas de destino passa a ser
5 = ceil[2 * (23/10)]. Se o QPS médio cair para 2, o número de réplicas de destino passa a ser1 = ceil[5 * (2/10)].Quando há várias métricas configuradas, o sistema calcula o número de réplicas de destino para cada métrica e usa o valor máximo como destino final.
-
Lógica de acionamento: Quando o número calculado de réplicas de destino excede o número de réplicas atuais, o sistema aciona o scale-out. Quando o número de réplicas de destino fica abaixo do número de réplicas atuais, o sistema aciona o scale-in.
ImportantePara evitar operações de dimensionamento frequentes devido a flutuações nas métricas, o sistema aplica uma margem de tolerância de 10% aos limiares. Por exemplo, com um limiar de QPS de 10, o sistema aciona o scale-out apenas quando o QPS excede consistentemente 11 (10 × 1,1). Isso significa que:
Flutuações de QPS entre 10 e 11 não acionam o scale-out.
O sistema aciona o scale-out apenas quando o QPS permanece estável em 11 ou mais.
Esse mecanismo reduz alterações desnecessárias nos recursos e melhora a estabilidade e a relação custo-benefício do sistema.
Execução atrasada: As operações de dimensionamento contam com um mecanismo de atraso para evitar ajustes frequentes causados por breves flutuações de tráfego.
Guia do usuário
Configure as políticas de dimensionamento automático horizontal no PAI console ou no cliente eascmd.
Ativar ou atualizar o dimensionamento automático
Console
Acesse o PAI console. Selecione uma região na parte superior da página. Em seguida, selecione o workspace desejado e clique em Enter Elastic Algorithm Service (EAS).
Na lista de serviços, clique no nome do serviço de destino para acessar a página de detalhes do serviço.
-
Na guia Auto Scaling, na seção Auto Scaling, clique em Enable Auto Scaling ou Update.


Na caixa de diálogo Auto Scaling Settings, configure os parâmetros.
Descrição dos parâmetros
-
Configuração básica
Parâmetro
Descrição
Recomendações e avisos de risco
Minimum Replicas
Número mínimo de réplicas para operações de scale-in. Valor mínimo: 0.
Ambiente de produção: Para serviços que exigem disponibilidade contínua, defina-o como
1ou superior.ImportanteDefinir este valor como
0remove todas as réplicas em períodos de tráfego zero. Novas solicitações estão sujeitas ao atraso total de cold start (de dezenas de segundos a vários minutos), tornando o serviço indisponível. Serviços que usam um gateway dedicado não suportam0.Maximum Replicas
Número máximo de réplicas para operações de scale-out. Valor máximo: 1000.
Defina-o com base no pico de tráfego estimado e na cota de recursos da conta para evitar que picos de tráfego inesperados causem estouro de custos.
General Scaling Metrics
Métricas de desempenho integradas usadas para acionar o dimensionamento.
-
QPS Threshold of Individual Instance: Defina-o com base nos resultados de testes de estresse, geralmente de 70% a 80% do desempenho ideal de uma única réplica.
ImportantePara definir o limiar de QPS de réplica única como um valor decimal, use o cliente (eascmd) e defina o campo
qps1k. -
CPU Utilization Threshold: Um valor muito baixo desperdiça recursos; um valor muito alto aumenta a latência da solicitação. Defina-o com base nas métricas de tempo de resposta (RT).
-
GPU utilization threshold: Configure-o com base nas métricas de RT.
-
Asynchronous Queue Length: Aplica-se apenas a serviços assíncronos. Configure-o com base no tempo médio de processamento de tarefas e na latência aceitável. Para obter mais informações, consulte Configurar o dimensionamento automático horizontal para serviços de inferência assíncrona.
Custom Scaling Metric
É possível reportar métricas personalizadas e usá-las para o dimensionamento automático. Para obter mais informações, consulte Métricas personalizadas de monitoramento e dimensionamento.
Adequado para cenários complexos em que as métricas integradas não atendem aos requisitos do negócio.
-
-
Configuração avançada
Parâmetro
Descrição
Recomendações e avisos de risco
Scale-out Starts in
Janela de observação para decisões de scale-out. Após o acionamento do scale-out, o sistema observa as métricas durante este período. Se os valores das métricas caírem abaixo do limiar, o sistema cancela o scale-out. Unidade: segundos.
Padrão:
0segundos (scale-out imediato). Aumente este valor (por exemplo, 60 segundos) para evitar dimensionamentos desnecessários devido a picos de tráfego transitórios.Scale-in Starts in
Janela de observação para decisões de scale-in — o parâmetro-chave para evitar instabilidade no serviço. O scale-in ocorre apenas após as métricas permanecerem abaixo do limiar durante todo esse período. Unidade: segundos.
Padrão:
300segundos. Isso protege contra eventos frequentes de scale-in devido a flutuações de tráfego. Não defina um valor muito baixo para manter a estabilidade do serviço.Scale-in to 0 Instance Starts in
Quando Minimum Replicas é
0, este parâmetro define o tempo de espera antes que o número de réplicas seja reduzido para0.Atrasa o desligamento completo do serviço, proporcionando um tempo de buffer para uma possível recuperação de tráfego.
Scale-from-Zero Replica Count
Número de réplicas a serem adicionadas quando o serviço faz scale-out a partir de
0réplicas.Defina um valor que suporte o pico inicial de tráfego e reduza a indisponibilidade do serviço durante o cold start.
Cliente
Antes de executar comandos, certifique-se de que o o cliente foi baixado e autenticado. Para ativar e atualizar, use o comando autoscale. Defina a política por meio do parâmetro -D ou de um arquivo de configuração JSON.
-
Formato do parâmetro:
# Format: eascmd autoscale [region]/[service_name] -D[attr_name]=[attr_value] # Example: Set the minimum number of replicas to 2, the maximum to 5, and the QPS threshold to 10. eascmd autoscale cn-shanghai/test_autoscaler -Dmin=2 -Dmax=5 -Dstrategies.qps=10 # Example: Set the scale-in delay to 100 seconds. eascmd autoscale cn-shanghai/test_autoscaler -Dbehavior.scaleDown.stabilizationWindowSeconds=100 -
Formato do arquivo de configuração:
# Step 1: Create a configuration file (for example, scaler.json). # Step 2: Run the command: eascmd autoscale [region]/[service_name] -s [desc_json] # Example eascmd autoscale cn-shanghai/test_autoscaler -s scaler.json
Exemplo de configuração
O exemplo do scaler.json inclui opções de configuração comuns:
Descrição dos parâmetros
|
Parâmetro |
Descrição |
|
|
Número mínimo de réplicas. |
|
|
Número máximo de réplicas. |
|
|
Métricas e limiares de dimensionamento.
|
|
|
Corresponde ao Scale-out Delay no console. |
|
|
Corresponde ao Scale-in Delay no console. |
Desativar o dimensionamento automático
Cliente
-
Formato do comando
eascmd autoscale rm [region]/[service_name] -
Exemplo
eascmd autoscale rm cn-shanghai/test_autoscaler
Melhores práticas
Configuração específica para cenários
Inferência online com uso intensivo de CPU: Configure tanto o CPU Utilization Threshold quanto o QPS Threshold Per Replica. O uso da CPU reflete o consumo de recursos; o QPS reflete a carga do negócio. Combinar essas métricas permite um dimensionamento preciso.
Inferência online com uso intensivo de GPU: Concentre-se no limiar de GPU Utilization. Quando as unidades de computação da GPU saturam, faça o scale-out para lidar com mais tarefas simultâneas.
Processamento de tarefas assíncronas: Use o Asynchronous Queue Length como métrica principal. Quando as tarefas acumuladas excedem o limiar, o scale-out aumenta a capacidade de processamento e reduz os tempos de espera.
Práticas de estabilidade
Evite dimensionar para zero: Para serviços de produção síncronos, sempre defina o Minimum Replicas como
1ou superior para garantir disponibilidade contínua e baixa latência.Defina atrasos razoáveis: Use o Scale-in Delay para evitar instabilidade no serviço devido a flutuações normais de tráfego. O valor padrão de
300segundos atende à maioria dos cenários.
Perguntas frequentes
Por que meu serviço não faz scale-out quando o limiar é atingido?
Os possíveis motivos incluem:
Cota de recursos insuficiente: A cota disponível de vCPU ou GPU na sua conta para a região atual está esgotada.
Atraso de scale-out ativo: Se o Scale-out Delay estiver configurado, o sistema aguarda esse período para confirmar o aumento sustentado do tráfego.
Falha na verificação de integridade da réplica: As réplicas recém-adicionadas pelo scale-out falharam nas verificações de integridade, causando a falha da operação.
Máximo de réplicas atingido: O número atual de réplicas atingiu o limite configurado de Maximum Replicas.
Por que meu serviço faz scale-in e scale-out com frequência?
Isso geralmente resulta de uma configuração inadequada da política de dimensionamento:
Limiar muito sensível: Um limiar definido muito próximo ao nível normal de carga faz com que pequenas flutuações acionem eventos de dimensionamento.
Atraso de scale-in muito curto: Períodos de atraso curtos levam o sistema a reagir exageradamente a breves quedas de tráfego, acionando operações de scale-in desnecessárias. Quando o tráfego se recupera, o sistema aciona outro scale-out imediatamente. Aumente o Scale-in Delay.
Referências
Para dimensionar réplicas automaticamente em horários agendados, consulte Dimensionamento automático agendado.
Para alocar recursos de forma flexível para mudanças na demanda, consulte Pools de recursos elásticos.
Para monitorar os efeitos do dimensionamento automático por meio de métricas personalizadas, consulte Métricas personalizadas de monitoramento e dimensionamento.