Identificar fatores de dimensionamento automático

Concluído

O dimensionamento automático permite-lhe especificar as condições segundo as quais uma aplicação Web deve ser aumentada horizontalmente e voltar a ser reduzida. Um dimensionamento automático eficaz garante um número de recursos suficientes disponíveis para processar grandes volumes de pedidos em períodos de pico, ao mesmo tempo que gere os custos quando a procura desce.

Pode configurar o dimensionamento automático para detetar quando deve reduzir e aumentar horizontalmente segundo uma combinação de fatores, baseados na utilização dos recursos. Também pode configurar a ocorrência do dimensionamento automático de acordo com um horário.

Nesta unidade, você aprenderá a especificar os fatores que podem ser usados para dimensionar automaticamente um serviço.

Dimensionamento automático e o Plano do Serviço de Aplicações

O dimensionamento automático é uma funcionalidade do Plano do Serviço de Aplicações utilizado pela aplicação Web. Quando a aplicação Web é aumentada horizontalmente, o Azure inicia novas instâncias do hardware definido pelo Plano do Serviço de Aplicações na aplicação.

Para impedir o dimensionamento automático com tempo de execução excessivo, um Plano do Serviço de Aplicações possui um limite de instância. Os planos dentro de escalões de preço mais dispendiosos possuem um limite maior. O dimensionamento automático não pode criar mais instâncias além desse limite.

Nota

Nem todos os escalões de preço do Plano do Serviço de Aplicações suportam o dimensionamento automático.

Condições do dimensionamento automático

Pode indicar a forma como quer efetuar o dimensionamento automático ao criar condições de dimensionamento automático. O Azure disponibiliza duas opções de dimensionamento automático:

  • Dimensione com base em uma métrica, como o comprimento da fila de disco ou o número de solicitações HTTP aguardando processamento.
  • Dimensionamento para um número de instâncias específico, segundo um horário. Por exemplo, pode agendar um aumento horizontal para uma altura específica do dia ou para uma data ou dia específicos da semana. Você também especifica uma data de término e o sistema é redimensionado neste momento.

Dimensionar para um número de instâncias específico apenas lhe permite aumentar horizontalmente para um número de instâncias definido. Caso necessite de aumentar horizontalmente de forma incremental, pode combinar dimensionamentos automáticos baseados em métricas e horários na mesma condição de dimensionamento automático. Deste modo, pode fazer com que o sistema aumente horizontalmente se o número de pedidos HTTP exceder algum limiar, mas apenas entre determinadas horas do dia.

Pode criar múltiplas condições de dimensionamento automático para gerir diferentes horários e métricas. O Azure dimensiona automaticamente o seu serviço quando qualquer uma destas condições se aplica. Um Plano do Serviço de Aplicativo também tem uma condição padrão que é usada se nenhuma das outras condições for aplicável. Esta condição está sempre ativa e não tem um horário.

Métricas de dimensionamento automático

O dimensionamento automático por métrica requer que defina uma ou mais regras de dimensionamento automático. Uma regra de dimensionamento automático especifica a métrica a monitorizar e a forma como o dimensionamento automático deve responder quando esta métrica ultrapassar um limiar definido. As métricas que pode monitorizar numa aplicação Web são:

  • Percentagem de CPU. Esta métrica é uma indicação da utilização da CPU em todas as instâncias. Um valor elevado mostra que as instâncias estão a tornar-se vinculadas à CPU, o que pode provocar atrasos no processamento de pedidos dos clientes.
  • Percentagem de memória. Esta métrica capta a ocupação da memória da aplicação em todas as instâncias. Um valor elevado indica que pode estar a ficar sem memória livre e fazer com que uma ou mais instâncias falhem.
  • Comprimento de Fila de Discos. Esta métrica é uma medida do número de pedidos de E/S pendentes em todas as instâncias. Um valor elevado significa que pode estar a ocorrer a contenção de disco.
  • Comprimento de Fila de Http. Esta métrica mostra a quantidade de pedidos dos clientes que estão a aguardar para serem processados pela aplicação Web. Se este número for grande, os pedidos de cliente podem falhar e apresentar o erro HTTP 408 (Tempo Limite).
  • Entrada de Dados. Esta métrica representa o número de bytes recebidos em todas as instâncias.
  • Saída de dados. Essa métrica é o número de bytes enviados por todas as instâncias.

Também pode dimensionar com base em métricas de outros serviços do Azure. Por exemplo, se o aplicativo Web processar solicitações recebidas de uma Fila do Barramento de Serviço, talvez você queira girar mais instâncias de um aplicativo Web se o número de itens mantidos em uma Fila do Barramento de Serviço do Azure exceder um comprimento crítico.

Como uma regra de dimensionamento automático analisa métricas

O dimensionamento automático funciona analisando tendências nos valores métricos ao longo do tempo em todas as instâncias. A análise é um processo de várias etapas.

No primeiro passo, uma regra de dimensionamento automático agrega os valores obtidos de uma métrica para todas as instâncias durante um período de tempo conhecido como intervalo de agregação. Cada métrica tem o seu próprio intervalo de agregação intrínseco, mas, na maioria dos casos, este período é de um minuto. O valor agregado é conhecido como a agregação de tempo. As opções disponíveis são Média, Mínima, Máxima, Soma, Última e Contagem.

Um intervalo de um minuto é um intervalo curto para determinar se qualquer alteração na métrica é duradoura o suficiente para fazer o dimensionamento automático valer a pena. Assim sendo, uma regra de dimensionamento automático aplica um segundo passo que realiza uma agregação adicional do valor calculado pela agregação de tempo durante um período maior e especificado pelo utilizador, conhecido como Duração. A Duração mínima é 5 minutos. Se a Duração estiver definida como 10 minutos, por exemplo, a regra de escala automática agregará os 10 valores calculados para o grão de tempo.

O cálculo de agregação para a Duração pode ser diferente do grão de tempo. Por exemplo, se a agregação de tempo for Média e a estatística reunida for Porcentagem de CPU em um grão de tempo de um minuto, a cada minuto será calculada a utilização média da porcentagem de CPU em todas as instâncias para esse minuto. Se a estatística de grão de tempo estiver definida como Máximo e a Duração da regra for definida como 10 minutos, o máximo dos 10 valores médios para a utilização da porcentagem da CPU será para determinar se o limite da regra foi ultrapassado.

Ações de dimensionamento automático

Quando uma regra de dimensionamento automático detetar que uma métrica ultrapassou um limiar, a mesma pode efetuar uma ação de dimensionamento automático. Uma ação de dimensionamento automático pode ser de aumento horizontal ou de redução horizontal. Uma ação de aumento horizontal aumenta o número de instâncias, enquanto uma ação de redução horizontal reduz o número de instâncias. Uma ação de dimensionamento automático utiliza um operador (por exemplo, menor que, maior que, igual a, entre outros) para determinar a forma de reagir perante o limiar. Normalmente, as ações de aumento horizontal utilizam o operador maior que para comparar o valor da métrica com o limiar. As ações de redução horizontal tendem a comparar o valor da métrica com o limiar ao utilizar o operador menos que. Uma ação de dimensionamento automático também pode definir a contagem de instâncias para um nível específico, ao invés de incrementar ou diminuir o número disponível.

Uma ação de dimensionamento automático tem um período de arrefecimento que é especificado em minutos. Durante este intervalo, a regra de dimensionamento não voltará a ser acionada. Isto permite a estabilização do sistema entre eventos de dimensionamento automático. Lembre-se de que iniciar ou encerrar instâncias demora tempo, pelo que as métricas recolhidas poderão não mostrar alterações significativas durante vários minutos. O período de arrefecimento mínimo é de cinco minutos.

Emparelhar regras de dimensionamento automático

Deve planear uma redução horizontal quando uma carga de trabalho diminuir. Pondere definir regras de dimensionamento automático em pares na mesma condição de dimensionamento automático. Uma regra de dimensionamento automático deve indicar como o sistema deve ser aumentado horizontalmente quando uma métrica exceder um limiar superior. Em seguida, a outra regra deve definir como o sistema deve ser reduzido horizontalmente quando essa mesma métrica ficar abaixo de um limiar inferior.

Combinar regras de dimensionamento automático

Uma só condição de dimensionamento automático pode conter várias regras de dimensionamento automático (por exemplo, uma regra de aumento horizontal e a regra de redução horizontal correspondente). No entanto, as regras de dimensionamento automático numa condição de dimensionamento automático não têm de estar diretamente relacionadas. Pode definir as seguintes quatro regras na mesma condição de dimensionamento automático:

  • Se o comprimento da fila de HTTP for superior a 10, aumente horizontalmente 1 valor
  • Se a utilização da CPU for superior a 70%, aumente horizontalmente 1 valor
  • Se o comprimento da fila de HTTP for zero, reduza horizontalmente 1 valor
  • Se a utilização da CPU estiver abaixo de 50%, reduza horizontalmente 1 valor

Ao determinar se a expansão deve ser dimensionada, a ação de dimensionamento automático é executada se qualquer uma das regras de expansão for atendida (o comprimento da fila HTTP excede 10 ou a utilização da CPU excede 70%). Ao dimensionar, a ação de dimensionamento automático é executada somente se todas as regras de dimensionamento forem atendidas (o comprimento da fila HTTP cai para zero e a utilização da CPU cai abaixo de 50%). Se você precisar dimensionar se apenas uma das regras de dimensionamento for atendida, você deverá definir as regras em condições de dimensionamento automático separadas.