O escalonamento automático do ambiente flexível GAE gira muitas instâncias para carga observada

1

Estou executando um contêiner do Docker na versão beta do ambiente flexível do GAE e configurei meu dimensionamento automático da seguinte forma:

automatic_scaling:
  min_num_instances: 2
  max_num_instances: 10
  cool_down_period_sec: 60
  cpu_utilization:
    target_utilization: 0.75

Meu gráfico de utilização da CPU no console das instâncias de VM do Compute Engine correspondentes é semelhante ao seguinte:

No entanto, nos últimos 30 minutos, o GAE executou o máximo de 10 instâncias. Olhando para os logs do meu aplicativo, ele não parece estar excessivamente ocupado também. No entanto, esta situação acontece regularmente.

Por que o GAE escala de forma tão agressiva? Existe um lugar melhor do que o gráfico de utilização da CPU para encontrar os dados que ele usa para orientar as decisões de dimensionamento?

    
por Piotr 28.10.2016 / 10:15

1 resposta

1

A resposta curta é que, atualmente, o ambiente flexível usa o autoescalador do Compute Engine, que tem o comportamento a seguir :

During periods of heavy CPU utilization, if utilization reaches close to 100%, the autoscaler estimates that the group may already be heavily overloaded. In these cases, the autoscaler increases the number of virtual machines by at least an extra 50% or a minimum of 4 instances, whichever is higher. In general, CPU utilization within a managed instance group will not exceed 100%.

Uma maneira de reduzir a agressividade do autoescalador é definir target_utilization como um valor alto. Esperamos que, futuramente, mais parâmetros para ajustar o autoescalador sejam adicionados, o que está mais de acordo com o ambiente padrão opções .

    
por 30.10.2016 / 22:04