Capacidade de uma instância de gerenciamento de API do AzureCapacity of an Azure API Management instance

A capacidade é a mais importante Azure monitor métrica para tomar decisões informadas quanto à possibilidade de dimensionar uma instância de gerenciamento de API para acomodar mais carga.Capacity is the most important Azure Monitor metric for making informed decisions whether to scale an API Management instance to accommodate more load. Sua construção é complexa e impõe certo comportamento.Its construction is complex and imposes certain behavior.

Este artigo explica o que é a capacidade e como ela se comporta.This article explains what the capacity is and how it behaves. Ele mostra como acessar métricas de capacidade no portal do Azure e sugere quando considerar a possibilidade de dimensionar ou atualizar sua instância de gerenciamento de API.It shows how to access capacity metrics in the Azure portal and suggests when to consider scaling or upgrading your API Management instance.

Importante

Este artigo discute como você pode monitorar e dimensionar sua instância de gerenciamento de API do Azure com base na sua métrica de capacidade.This article discusses how you can monitor and scale your Azure API Management instance based upon its capacity metric. No entanto, é igualmente importante entender o que acontece quando uma instância de gerenciamento de API individual realmente atingiu sua capacidade.However, it is equally important to understand what happens when an individual API Management instance has actually reached its capacity. O gerenciamento de API do Azure não aplicará nenhuma limitação no nível de serviço para evitar uma sobrecarga física das instâncias.Azure API Management will not apply any service-level throttling to prevent a physical overload of the instances. 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 as solicitações de entrada: a latência aumentará, as conexões serão eliminadas, ocorrerão erros de tempo limite, etc. Isso significa que os clientes de API devem estar preparados para lidar com essa possibilidade semelhante a qualquer outro serviço externo (por exemplo, aplicando políticas de repetição).When an instance reaches its physical capacity, it will behave similar to any overloaded web server that is unable to process incoming requests: latency will increase, connections will get dropped, timeout errors will occur, etc. This means that API clients should be prepared to deal with this possibility similar as with any other external service (e.g. by applying retry policies).

Pré-requisitosPrerequisites

Para seguir as etapas deste artigo, você deve ter:To follow the steps from this article, you must have:

DisponibilidadeAvailability

Importante

Este recurso está disponível nas camadas Premium, Standard, Básico e Desenvolvedor do Gerenciamento de API.This feature is available in the Premium, Standard, Basic, and Developer tiers of API Management.

Qual é a capacidadeWhat is capacity

Diagrama que explica a métrica de capacidade.

A capacidade é um indicador de carga em uma instância de gerenciamento de API.Capacity is an indicator of load on an API Management instance. Ele reflete o uso de recursos (CPU, memória) e comprimentos de fila de rede.It reflects resources usage (CPU, memory) and network queue lengths. O uso de CPU e memória revela o consumo de recursos por:CPU and memory usage reveals resources consumption by:

  • Serviços de plano de dados de gerenciamento de API, como processamento de solicitações, que podem incluir solicitações de encaminhamento ou execução de uma política.API Management data plane services, such as request processing, which can include forwarding requests or running a policy.
  • Serviços de plano de gerenciamento de API, como ações de gerenciamento aplicadas por meio do portal do Azure ou ARM, ou carga proveniente do portal do desenvolvedor.API Management management plane services, such as management actions applied via the Azure Portal or ARM, or load coming from the developer portal.
  • Os processos do sistema operacional selecionados, incluindo processos que envolvem o custo de Handshakes TLS em novas conexões.Selected operating system processes, including processes that involve cost of TLS handshakes on new connections.

A capacidade total de é uma média de seus próprios valores de cada unidade de uma instância de gerenciamento de API.Total capacity is an average of its own values from every unit of an API Management instance.

Embora a métrica de capacidade seja projetada para a superfície de problemas com sua instância de gerenciamento de API, há casos em que os problemas não serão refletidos nas alterações na métrica de capacidade.Although the capacity metric is designed to surface problems with your API Management instance, there are cases when problems won't be reflected in changes in the capacity metric.

Comportamento da métrica de capacidadeCapacity metric behavior

Por causa de sua construção, a capacidade real pode ser afetada por muitas variáveis, por exemplo:Because of its construction, in real life capacity can be impacted by many variables, for example:

  • padrões de conexão (nova conexão em uma solicitação versus reutilização da conexão existente)connection patterns (new connection on a request vs reusing the existing connection)
  • tamanho de uma solicitação e respostasize of a request and response
  • políticas configuradas em cada API ou número de pedidos de envio de clientes.policies configured on each API or number of clients sending requests.

Quanto mais complexas forem as operações nas solicitações, maior será o consumo de capacidade.The more complex operations on the requests are, the higher the capacity consumption will be. Por exemplo, políticas de transformação complexas consomem muito mais CPU do que um simples encaminhamento de solicitação.For example, complex transformation policies consume much more CPU than a simple request forwarding. Respostas de serviço de back-end lentas aumentarão também.Slow backend service responses will increase it too.

Importante

Capacidade não é uma medida direta do número de solicitações processadas.Capacity is not a direct measure of the number of requests being processed.

Picos de métrica de capacidade

Capacidade também pode ser intermitente ou ser maior que zero, mesmo que não haja solicitações sendo processadas.Capacity can also spike intermittently or be greater than zero even if there are no requests being processed. 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 dimensionar uma instância.It happens because of system- or platform-specific actions and should not be taken into consideration when deciding whether to scale an instance.

A métrica de baixa capacidade não significa necessariamente que sua instância de gerenciamento de API não está enfrentando problemas.Low capacity metric doesn't necessarily mean that your API Management instance isn't experiencing any problems.

Use o Portal do Azure para examinar a capacidadeUse the Azure Portal to examine capacity

Métrica de capacidade

  1. Navegue para sua instância do APIM no Portal do Azure.Navigate to your APIM instance in the Azure portal.

  2. Selecione Métricas.Select Metrics.

  3. Na seção roxa, selecione a métrica Capacidade das métricas disponíveis e deixe a agregação padrão Média.From the purple section, select Capacity metric from available metrics and leave the default Avg aggregation.

    Dica

    Você deve sempre analisar uma divisão de capacidade por local para evitar interpretações erradas.You should always look at a capacity metric breakdown per location to avoid wrong interpretations.

  4. Na seção verde, selecione Local para dividir a métrica por dimensão.From the green section, select Location for splitting the metric by dimension.

  5. Escolha um período de tempo desejado na barra superior da seção.Pick a desired timeframe from the top bar of the section.

    Você pode definir um alerta de métrica para avisá-lo quando algo inesperado estiver acontecendo.You can set a metric alert to let you know when something unexpected is happening. Por exemplo, obtenha notificações quando sua instância do APIM estiver excedendo sua capacidade de pico esperada por mais de 20 minutos.For example, get notifications when your APIM instance has been exceeding its expected peak capacity for over 20 minutes.

    Dica

    Você pode configurar alertas para informar quando o serviço está com pouca capacidade ou usar a funcionalidade de escalonamento automático do Monitor do Azure para adicionar automaticamente uma unidade de Gerenciamento de API do Azure.You can configure alerts to let you know when your service is running low on capacity or use Azure Monitor autoscaling functionality to automatically add an Azure API Management unit. A operação de dimensionamento pode levar cerca de 30 minutos, portanto, você deve planejar suas regras adequadamente.Scaling operation can take around 30 minutes, so you should plan your rules accordingly.
    Apenas o escalonamento da localização principal é permitido.Only scaling the master location is allowed.

Use capacidade para escalar decisõesUse capacity for scaling decisions

Capacidade é a métrica para tomar decisões sobre dimensionar uma instância de gerenciamento de API para acomodar mais carga.Capacity is the metric for making decisions whether to scale an API Management instance to accommodate more load. Considere:Consider:

  • Olhando para uma tendência de longo prazo e média.Looking at a long-term trend and average.
  • Ignorar picos repentinos que provavelmente não estão relacionados a nenhum aumento de carga (consulte a seção "Comportamento de métrica de capacidade" para obter explicações).Ignoring sudden spikes that are most likely not related to any increase in load (see "Capacity metric behavior" section for explanation).
  • Atualizando ou dimensionando sua instância, quando o valor de capacidade exceder 60% ou 70% por um período de tempo maior (por exemplo, 30 minutos).Upgrading or scaling your instance, when capacity's value exceeds 60% or 70% for a longer period of time (for example 30 minutes). Valores diferentes podem funcionar melhor para seu serviço ou cenário.Different values may work better for your service or scenario.

Dica

Se você puder estimar seu tráfego antecipadamente, teste sua instância APIM nas cargas de trabalho esperadas.If you are able to estimate your traffic beforehand, test your APIM instance on workloads you expect. Você pode aumentar a carga de solicitações em seu inquilino gradualmente e monitorar qual valor da métrica de capacidade corresponde ao seu pico de carga.You can increase the request load on your tenant gradually and monitor what value of the capacity metric corresponds to your peak load. Siga as etapas da seção anterior para usar o portal do Azure para entender quanta capacidade é usada a qualquer momento.Follow the steps from the previous section to use Azure portal to understand how much capacity is used at any given time.

Próximas etapasNext steps