Dimensionar automaticamente unidades de um Serviço do Azure SignalR

Importante

O dimensionamento automático só está disponível na camada Premium do Serviço do Azure SignalR.

A camada Premium do Serviço do Azure SignalR dá suporte a um recurso de dimensionamento automático, que é uma implementação do dimensionamento automático do Azure Monitor. O dimensionamento automático permite que você dimensione automaticamente a contagem de unidades para seu Serviço do SignalR para corresponder à carga real no serviço. O dimensionamento automático pode ajudar você a otimizar o desempenho e o custo do aplicativo.

O Azure SignalR adiciona as próprias métricas de serviço. No entanto, a maior parte da interface do usuário é compartilhada e comum a outros serviços do Azure que dão suporte ao dimensionamento automático. Se você não estiver familiarizado com as Métricas do Azure Monitor, examine a Agregação e exibição das métricas do Azure Monitor explicadas antes de se aprofundar nas Métricas do Serviço do SignalR.

Noções básicas sobre o dimensionamento automático no Serviço do SignalR

O dimensionamento automático permite definir condições que alterarão dinamicamente as unidades alocadas ao Serviço do SignalR enquanto o serviço está em execução. As condições de dimensionamento automático são baseadas em métricas, como a Carga do Servidor. O dimensionamento automático também pode ser configurado para ser executado segundo um agendamento, como todos os dias entre determinadas horas.

Por exemplo, você pode implementar os cenários de colocação em escala a seguir usando o dimensionamento automático.

  • Aumentar as unidades quando a Utilização da Cota de Conexão for superior a 70%.
  • Diminuir as unidades quando a Carga do Servidor estiver abaixo de 20%.
  • Criar um agendamento para adicionar mais unidades durante o horário de pico e reduzir unidades durante o horário de folga.

Vários fatores afetam o desempenho do Serviço do SignalR. Nenhuma métrica fornece uma visão completa do desempenho do sistema. Por exemplo, se você estiver enviando um grande número de mensagens, talvez precise escalar horizontalmente, mesmo que a cota de conexão seja relativamente baixa. A combinação de Utilização da Cota de Conexão e Carga do Servidor fornece uma indicação da carga geral do sistema. As diretrizes a seguir se aplicam.

  • Expandir se a contagem de conexões for superior a 80 a 90%. Expandir antes do esgotamento da contagem de conexões garante que você terá buffer suficiente para aceitar novas conexões antes que a expansão entre em vigor.
  • Expandir se a Carga do Servidor for superior a 80 a 90%. O dimensionamento antecipado garante que o serviço tenha capacidade suficiente para manter o desempenho durante a operação de expansão.

A operação de dimensionamento automático geralmente entra em vigor de 3 a 5 minutos após ser disparada. É importante não alterar as unidades com muita frequência. Uma boa regra geral é aguardar 30 minutos desde o dimensionamento automático anterior antes de executar outra operação de dimensionamento automático. Em alguns casos, talvez seja necessário experimentar para encontrar o intervalo de dimensionamento automático ideal.

Configurações de dimensionamento automático personalizadas

Abra a página de configurações do dimensionamento automático:

  1. Acesse o portal do Azure.

  2. Abra a página de serviço do SignalR.

  3. No menu à esquerda, em Configurações, selecione Escalar horizontalmente.

  4. Selecione a guia Configurar. Se você tiver uma instância do SignalR da camada Premium, verá duas opções para Escolher como dimensionar seu recurso:

    • Escala manual, que permite alterar manualmente o número de unidades.
    • Dimensionamento automático personalizado, que permite criar condições de dimensionamento automático com base em métricas e/ou em um agendamento de tempo.
  5. Escolha Dimensionamento automático personalizado. Use esta página para gerenciar as condições de dimensionamento automático do serviço do Azure SignalR.

Condição de escala padrão

Ao abrir as configurações personalizadas de dimensionamento automático pela primeira vez, você verá a condição de escala Padrão já criada para você. Essa condição de escala é executada quando nenhuma das outras condições de escala corresponde aos critérios definidos para elas. Você não pode excluir a condição Padrão, mas pode renomeá-la, alterar as regras e alterar a ação executada pelo dimensionamento automático.

Não é possível definir uma condição padrão para o dimensionamento automático em um intervalo de datas ou um número de dias específico. A condição padrão dá suporte apenas à escala para um intervalo de unidade. Para dimensionar segundo um agendamento, você precisará adicionar uma nova condição de escala.

O dimensionamento automático não terá efeito até que você salve a condição padrão pela primeira vez depois de selecionar o Dimensionamento automático personalizado.

Adicionar ou alterar uma condição de escala

Há duas opções de como dimensionar seu recurso do Azure SignalR:

  • Dimensionar com base em uma métrica – dimensionar dentro dos limites de unidade com base em uma métrica dinâmica. Uma ou mais regras de escala são definidas para definir os critérios usados para avaliar a métrica.
  • Dimensionar para unidades específicas – dimensione para um número específico de unidades com base em um intervalo de datas ou agendamento recorrente.

Escala baseada em uma métrica

O procedimento a seguir mostra como adicionar uma condição para aumentar as unidades (escalar horizontalmente) quando a Utilização da Cota de Conexão for maior que 70% e diminuir as unidades (reduzir horizontalmente) quando a Utilização da Cota de Conexão for menor que 20%. Os incrementos ou decrementos são feitos entre unidades disponíveis.

  1. Na página Escalar horizontalmente, selecione Dimensionamento automático personalizado para a opção Escolher como escalar o recurso.

  2. Selecione Escalar com base em uma métrica para ver o Modo de escala.

  3. Selecione +Adicionar uma regra. Screenshot of custom rule based on a metric.

  4. Na página Regra de escala, siga estas etapas:

    1. Selecione uma métrica na lista suspensa da métrica Nome da métrica. Neste exemplo, é Utilização da Cota de Conexão.
    2. Selecione um operador e valores de limite. Neste exemplo, são eles Maior que e 70 o Limite de métrica para disparar a ação de escala.
    3. Selecione uma operação na seção Ação. Neste exemplo, ela está definida como Aumentar.
    4. Em seguida, selecione AdicionarScreenshot of default autoscale rule screen.
  5. Selecione + Adicionar uma regra novamente e siga estas etapas na página Regra de escala:

    1. Selecione uma métrica na lista suspensa da métrica Nome da métrica. Neste exemplo, é Utilização da Cota de Conexão.
    2. Selecione um operador e valores de limite. Neste exemplo, são eles Menor que e 20 o Limite de métrica para disparar a ação de escala.
    3. Selecione uma operação na seção Ação. Neste exemplo, ela está definida como Diminuir.
    4. Em seguida, selecione AdicionarScreenshot Connection Quota Utilization scale rule.
  6. Defina os números mínimo, máximo e padrão de unidades.

  7. Selecione Salvar na barra de ferramentas para salvar a configuração de dimensionamento automático.

Escalar para unidades específicas

Siga estas etapas para configurar a regra para escalar para um intervalo de unidades específico.

  1. Na página Escalar horizontalmente, selecione Dimensionamento automático personalizado para a opção Escolher como escalar o recurso.
  2. Selecione Escalar para unidades específicas para Modo de escala.
  3. Para Unidades, selecione o número de unidades padrão. Screenshot of scale rule criteria.

Adicionar mais condições

A seção anterior mostrou como adicionar uma condição padrão à configuração de dimensionamento automático. Esta seção mostra como adicionar mais condições à configuração de dimensionamento automático.

  1. Na página Escalar horizontalmente, selecione Dimensionamento automático personalizado para a opção Escolher como escalar o recurso.
  2. Selecione Adicionar uma condição de escala no bloco Padrão. Screenshot of custom scale rule screen.
  3. Confirme se a opção Escalar com base em uma métrica está selecionada.
  4. Selecione + Adicionar uma regra para adicionar uma regra com o objetivo de aumentar as unidades quando a Utilização da Cota de Conexão ficar acima de 70%. Siga as etapas da seção de condição padrão.
  5. Defina os números mínimo, máximo e padrão das unidades.
  6. Você também pode definir um agendamento para uma condição personalizada (mas não para a condição padrão). É possível especificar datas de início e de término para a condição ou selecionar dias específicos (segunda-feira, terça-feira etc.) de uma semana.
    1. Se você selecionar Especificar datas de início/término, escolha o Fuso Horário, a Data e hora de início e a Data e hora de término (conforme mostrado na imagem a seguir) para que a condição entre em vigor.
    2. Se você selecionar Repetir dias específicos, escolha os dias da semana, o Fuso Horário, a hora de início e a hora de término em que a condição deve ser aplicada.

Próximas etapas

Para obter mais informações sobre como gerenciar o dimensionamento automático da CLI do Azure, consulte az monitor autoscale.