Capacidade de uma instância da Gestão de API do Azure

APLICA-SE A: Developer | Básico | Padrão | Prémio

A capacidade é a métrica mais importante do Azure Monitor para tomar decisões informadas sobre dimensionar ou atualizar uma instância de Gerenciamento de API para acomodar mais carga. A sua construção é complexa e impõe certos comportamentos.

Este artigo explica o que é a capacidade e como ela se comporta. Ele mostra como acessar métricas de capacidade no portal do Azure e sugere quando considerar dimensionar ou atualizar sua instância de Gerenciamento de API.

Importante

Este artigo discute como você pode monitorar e dimensionar sua instância de Gerenciamento de API do Azure com base em sua métrica de capacidade. No entanto, é igualmente importante entender o que acontece quando uma instância individual de Gerenciamento de API realmente atingiu sua capacidade. O Gerenciamento de API do Azure não aplicará a limitação de nível de serviço para evitar uma sobrecarga física das instâncias. Quando uma instância atinge sua capacidade física, ela se comportará de forma semelhante a qualquer servidor Web sobrecarregado que não consiga processar solicitações de entrada: a latência aumentará, as conexões serão descartadas, ocorrerão erros de tempo limite e assim por diante. Isso significa que os clientes de API devem estar preparados para lidar com essa possibilidade como fazem com qualquer outro serviço externo (por exemplo, aplicando políticas de repetição).

Pré-requisitos

Para seguir as etapas neste artigo, você deve ter:

Disponibilidade

Importante

A agregação Max da métrica de capacidade só é suportada no escalão Premium do API Management.

O que é capacidade

Diagrama que explica a métrica de Capacidade.

Capacidade é um indicador de carga numa instância da Gestão de API. Ele reflete o uso de recursos (CPU, memória) e comprimentos de fila de rede. A utilização da CPU e da memória apresenta o consumo de recursos por:

  • Serviços do plano de dados da Gestão de API, como processamento de pedidos, que podem incluir o reencaminhamento de pedidos ou a execução de uma política.
  • Serviços de plano de gerenciamento de Gerenciamento de API, como ações de gerenciamento aplicadas por meio do portal do Azure ou do Gerenciador de Recursos do Azure, ou carga proveniente do portal do desenvolvedor.
  • Determinados processos do sistema operativo, incluindo processos que envolvem custos de handshakes TLS em novas ligações.
  • Atualizações da plataforma, tais como atualizações do SO nos recursos de computação subjacentes da instância.
  • Número de APIs implantadas, independentemente da atividade, que podem consumir capacidade adicional.

A capacidade total é uma média de seus próprios valores de cada unidade de uma instância de Gerenciamento de API.

Embora a métrica de capacidade tenha sido projetada para revelar problemas com sua instância de Gerenciamento de API, há casos em que os problemas não serão refletidos em alterações na métrica de capacidade.

Comportamento da métrica de capacidade

Devido à sua construção, na vida real a capacidade pode ser impactada por muitas variáveis, por exemplo:

  • padrões de conexão (nova conexão em uma solicitação versus reutilização da conexão existente)
  • Tamanho de uma solicitação e resposta
  • políticas configuradas em cada API ou número de clientes que enviam solicitações.

Quanto mais complexas forem as operações nas solicitações, maior será o consumo de capacidade . Por exemplo, políticas de transformação complexas consomem muito mais CPU do que um simples encaminhamento de solicitação. Respostas lentas do serviço de back-end também aumentarão.

Importante

A capacidade não é uma medida direta do número de pedidos que estão a ser processados.

Picos métricos de capacidade

A capacidade também pode aumentar intermitentemente ou ser maior que zero, mesmo que nenhuma solicitação esteja sendo processada. Isso acontece por causa de ações específicas do sistema ou da plataforma e não deve ser levado em consideração ao decidir se deve dimensionar uma instância.

A métrica de baixa capacidade não significa necessariamente que sua instância de Gerenciamento de API não esteja enfrentando problemas.

Utilizar o portal do Azure para examinar a capacidade

Métrica de capacidade

  1. Navegue até sua instância de Gerenciamento de API no portal do Azure.

  2. No menu à esquerda, em Monitoramento, selecione Métricas.

  3. Selecione a métrica Capacidade nas métricas disponíveis e deixe a agregação Avg padrão.

    Gorjeta

    Se você implantou sua instância em vários locais, deve sempre examinar um detalhamento de métrica de capacidade por local para evitar interpretações erradas.

  4. Para dividir a métrica por local, na seção na parte superior, selecione Aplicar divisão e, em seguida, selecione Local.

  5. Escolha um período de tempo desejado na barra superior da seção.

    Você pode definir um alerta de métrica para informar quando algo inesperado está acontecendo. Por exemplo, receba notificações quando sua instância de Gerenciamento de API exceder sua capacidade de pico esperada por mais de 20 minutos.

    Gorjeta

    Você pode configurar alertas para informar quando seu serviço estiver com pouca capacidade ou usar o dimensionamento automático do Azure Monitor para adicionar automaticamente uma unidade de Gerenciamento de API do Azure. A operação de dimensionamento pode levar cerca de 30 minutos, portanto, você deve planejar suas regras de acordo.
    Somente o dimensionamento do local mestre é permitido.

Utilizar a capacidade para decisões de dimensionamento

A capacidade é a métrica para tomar decisões sobre o dimensionamento de uma instância de Gerenciamento de API para acomodar mais carga. As considerações gerais são as seguintes:

  • Olhe para uma tendência e média de longo prazo.
  • Ignore picos repentinos que provavelmente não estão relacionados a um aumento na carga (consulte a seção Comportamento da métrica de capacidade para obter explicações).
  • Como regra geral, atualize ou dimensione sua instância quando o valor da capacidade exceder 60% - 70% por um longo período de tempo (por exemplo, 30 minutos). Valores diferentes podem funcionar melhor para o seu serviço ou cenário.
  • Se sua instância estiver configurada com apenas 1 unidade, atualize ou dimensione sua instância quando o valor da capacidade exceder 40% por um longo período. Esta recomendação baseia-se na necessidade de reservar capacidade para atualizações do SO convidado na plataforma de serviço subjacente.

Gorjeta

Se você puder estimar seu tráfego com antecedência, teste sua instância de Gerenciamento de API nas cargas de trabalho esperadas. Você pode aumentar a carga de solicitação em seu locatário gradualmente e monitorar o valor da métrica de capacidade que corresponde à sua carga de pico. Siga as etapas da seção anterior para usar o portal do Azure para entender quanta capacidade é usada em determinado momento.

Próximos passos