Este tópico descreve como configurar parâmetros avançados em uma política de auto scaling e verificar seus impactos no comportamento do sistema.
Pré-requisitos
Execute um teste de estresse em uma aplicação no Performance Testing Service (PTS) para verificar os impactos dos parâmetros avançados de uma política de auto scaling no dimensionamento de instâncias. Conclua as etapas a seguir antes de iniciar o teste.
-
Crie uma aplicação Serverless App Engine (SAE).
NotaPara simplificar o teste de estresse, defina o número de instâncias da aplicação como 1.
-
Vincule uma instância Classic Load Balancer (CLB) implantada na Internet à aplicação e ative o recurso de log de acesso do CLB.
NotaA ativação do recurso de log de acesso do CLB gera taxas adicionais.
Parâmetros avançados
Ao configurar uma política de auto scaling baseada em métricas ou uma política de auto scaling híbrida para uma aplicação, o Serverless App Engine oferece cinco parâmetros avançados:
Scale-out Step Size: número máximo de instâncias adicionadas por unidade de tempo.
Scale-in Step Size: número máximo de instâncias removidas por unidade de tempo.
Scale-out Stabilization Window: período de estabilidade do scale-out. O algoritmo de auto scaling garante que a operação utilize o menor número esperado de instâncias calculado no intervalo especificado.
Scale-in Stabilization Window: período de estabilidade do scale-in. O algoritmo de auto scaling garante que a operação utilize o maior número esperado de instâncias calculado no intervalo especificado.
Disable Scale-in: impede o scale-in das instâncias da aplicação.
Configurar uma política de auto scaling para uma aplicação
Ao configurar uma política de auto scaling baseada em métricas ou uma política de auto scaling híbrida, defina os parâmetros avançados da política de auto scaling. Esta seção descreve apenas as etapas principais.
A política configurada nesta seção destina-se exclusivamente ao teste de estresse. Em ambiente de produção, ajuste as configurações conforme os requisitos do seu negócio.
Na página Basic Information da aplicação desejada, clique em Auto Scaling e, em seguida, clique em Create Auto Scaling Policy.
-
No painel exibido, configure uma política de auto scaling com base na métrica public CLB QPS e defina o valor alvo como 10.
NotaNão especifique parâmetros avançados.
Em Policy Type, selecione metric-based auto scaling policy, defina Policy Name como demo, Minimum Number of Instances como 1 e Maximum Number of Instances como 5. Para Minimum Number of Ready Instances, selecione By Ratio e defina o valor como 50%.
Após adicionar a política de auto scaling baseada em métricas, ative-a.
Verificar os impactos dos parâmetros avançados
Antes de verificar cada parâmetro avançado, certifique-se de que nenhum parâmetro avançado esteja definido na política de auto scaling baseada em métricas.
Verificar o parâmetro Scale-out Step Size
Como a lógica do scale-out step size é semelhante à do scale-in step size, esta seção verifica apenas o parâmetro scale-out step size.
Verificar o efeito de scale-out sem o parâmetro Scale-out Step Size
-
Faça login no console do PTS e execute um teste de estresse na aplicação SAE.
NotaA URL usada no teste de estresse corresponde ao endereço IP da instância CLB vinculada à aplicação SAE e implantada na Internet. A URL segue o formato
http://Public IP address port number. -
Após o início do teste de estresse, visualize os eventos de auto scaling da aplicação SAE.
Filtre por Source Type e selecione auto scaling (HorizontalPodAutoscaler). Visualize registros com o motivo SuccessfulRescale. Expanda os detalhes para confirmar que o scale-out foi acionado porque a métrica externa
slb_incall_qpsexcedeu o valor alvo.Os eventos de auto scaling indicam que o controlador HPA expandiu a aplicação SAE para 5 instâncias.
Verificar o efeito de scale-out com o parâmetro Scale-out Step Size
-
Configure o parâmetro scale-out step size na política de auto scaling baseada em métricas.
Na página Basic Information da aplicação desejada, clique em Auto Scaling e, em seguida, clique em Edit na coluna Actions da política de auto scaling adicionada.
No painel Edit Auto Scaling Policy, clique em Advanced Settings para expandir a área de configuração de parâmetros avançados.
Na área Advanced Settings, defina scale-out step size como
1, mantenha os demais parâmetros avançados sem configuração e clique em OK.
Utilize o PTS para executar um teste de estresse na aplicação SAE.
-
Quando o teste de estresse começar, acesse a página Application Events para visualizar os eventos de auto scaling da aplicação SAE alvo.
Os eventos de auto scaling mostram que as instâncias da aplicação SAE são adicionadas uma a uma, em vez de saltar diretamente para cinco instâncias simultaneamente. Isso demonstra que o parâmetro Scale-out Step Size está ativo e limita a quantidade de instâncias adicionadas por vez, equilibrando estabilidade do sistema e velocidade de resposta por meio do controle do ritmo de scale-out.
Verificar o parâmetro Scale-out Stabilization Window
Considerando que a lógica do parâmetro scale-out stabilization window assemelha-se à do parâmetro scale-in stabilization window, esta seção valida apenas o parâmetro scale-out stabilization window.
Verificar o efeito de scale-out sem o Scale-out Stabilization Window
-
Acesse o console do Performance Testing Service (PTS) e execute um teste de estresse rápido na aplicação SAE alvo.
NotaA URL utilizada no teste de estresse corresponde ao endereço de acesso da instância CLB pública vinculada à aplicação SAE. O formato da URL é
http://<Public IP address>:<Port>. -
Assim que o teste de estresse for iniciado, compare o horário de início do teste com o momento do scale-out da aplicação SAE.
Início do teste de estresse
Início do scale-out da aplicação SAE
Consulte o horário na página Report List.
Informações como Test Time, Report Name, Report ID, Duration, Peak Concurrency e VUMs Consumed aparecem em cada registro de teste de estresse. Localize o registro com horário de teste 2025-03-07 17:36:55 e clique em View Report correspondente para ver os resultados.
2025-03-07 17:36:55
Consulte o horário na página Application Events.
2025-03-07 17:37:21
O teste evidencia que, sem o parâmetro scale-out stabilization window configurado, as instâncias realizaram scale-out rapidamente, cerca de 20 segundos após a aplicação SAE começar a processar tráfego.
Verificar o efeito de scale-out com o Scale-out Stabilization Window
-
Defina o parâmetro scale-out stabilization window na política de auto scaling baseada em métricas.
Na página Basic Information da aplicação desejada, clique em Auto Scaling e, em seguida, clique em Edit na coluna Actions da política de auto scaling adicionada.
No painel Edit Auto Scaling Policy, clique em Advanced Settings para expandir a área de configuração de parâmetros avançados.
Na área Advanced Settings, defina o scale-out stabilization window como
300segundos, mantenha os demais parâmetros avançados sem configuração e clique em OK.
Utilize a ferramenta PTS para executar um teste de estresse rápido na aplicação SAE alvo.
-
Assim que o teste de estresse for iniciado, compare o horário de início do teste com o momento do scale-out da aplicação SAE.
Início do teste de estresse
Início do scale-out da aplicação SAE
Consulte o horário na página Report List.
Localize o registro do relatório de teste de estresse desejado, confirme o Test Time e clique em View Report na coluna Actions para visualizar os resultados do teste.
2025-03-10 09:50:35
Consulte o horário na página Application Events.
A lista de eventos exibe um registro com nível de evento Normal, motivo SuccessfulRescale e tipo de origem HorizontalPodAutoscaler. Isso indica que a quantidade de Pods foi ajustada com sucesso para 5 com base na métrica externa
slb_incall_qps.O resultado do teste mostra que, com o parâmetro Scale-out Stabilization Window definido como 300, a operação de scale-out não ocorre imediatamente após a aplicação SAE receber tráfego. Em vez disso, o scale-out inicia somente após o término da janela de estabilização especificada. Isso comprova que o parâmetro Scale-out Stabilization Window atrasa eficazmente as operações de scale-out, evitando desperdício de recursos provocado por flutuações de tráfego de curta duração.
Verificar o parâmetro Disable Scale-in
Verificar o efeito de dimensionamento sem o Disable Scale-in ativado
-
Acesse o console do Performance Testing Service (PTS) e execute um teste de estresse rápido na aplicação SAE alvo.
NotaA URL utilizada no teste de estresse corresponde ao endereço de acesso da instância CLB pública vinculada à aplicação SAE. O formato da URL é
http://<Public IP address>:<Port>. -
Ao concluir o teste de estresse, acesse a página Application Events para visualizar os eventos de dimensionamento da aplicação.
Ao filtrar por Source Type para auto scaling (HorizontalPodAutoscaler), a lista de eventos apresenta dois eventos SuccessfulRescale. O primeiro refere-se a um scale-out para 5 instâncias durante o teste, acionado quando a métrica externa
slb_incall_qpsultrapassou seu alvo. O segundo trata-se de um scale-in para 1 instância após o teste, acionado quando todas as métricas ficaram abaixo de seus alvos.O teste demonstra que, se o parâmetro disable scale-in não estiver ativado, a aplicação reduz para uma única instância após a conclusão do teste de estresse.
Verificar o efeito de dimensionamento com o Disable Scale-in ativado
-
Na política de auto scaling baseada em métricas, ative o disable scale-in.
Na página Basic Information da aplicação desejada, clique em Auto Scaling e, em seguida, clique em Edit na coluna Actions da política de auto scaling adicionada.
Na área Advanced Settings, ative o disable scale-in.
-
Utilize a ferramenta PTS para executar um teste de estresse rápido na aplicação SAE alvo.
NotaA duração especificada para o teste de estresse é de 10 minutos.
-
Após a conclusão do teste de estresse (quando o tráfego for 0), verifique se houve scale-in das instâncias da aplicação.
A lista de instâncias revela que todas as cinco instâncias encontram-se no estado Running. Quatro instâncias estão em execução há aproximadamente 15 minutos (criadas durante o scale-out) e uma instância está em execução há cerca de 5 horas (a instância original). Nenhuma instância sofreu scale-in.
O resultado do teste confirma que o número de instâncias da aplicação permanece em 5 durante cerca de 5 minutos após o término do teste de estresse, sem ocorrência de scale-in. Isso prova que o parâmetro Disable Scale-in entrou em vigor, evitando eficazmente a liberação excessiva de recursos causada por flutuações de tráfego ou avaliações incorretas, garantindo assim a estabilidade do serviço.