Observar eventos limitadores de taxa

Concluído

Nesta unidade, discutiremos métodos de como identificar eventos limitantes de taxa.

Ao usar o Azure Cosmos DB para NoSQL, o Azure Cosmos DB pode retornar um erro de código de status 429. Esse código de erro indica que ocorreu uma exceção de taxa de solicitação muito grande . Essa exceção significa que as solicitações do Azure Cosmos DB estão sendo limitadas.

Quando a taxa de transferência provisionada é usada, as unidades de solicitação por segundo (RU/s) são definidas para a carga de trabalho. As operações (leitura, gravação, consultas) em relação às unidades de solicitação de consumo de serviço (RUs). Se, em um determinado segundo, as operações consumirem mais RUs do que as RU/s provisionadas, o Azure Cosmos DB retornará uma exceção 429.

Há três razões principais pelas quais obtemos uma exceção 429:

  • A taxa de solicitação é grande.
  • O pedido não foi concluído devido a uma elevada taxa de pedidos de metadados.
  • A solicitação não foi concluída devido a um erro de serviço transitório.

Analisaremos cada um desses motivos e como identificá-los.

A taxa de solicitação é grande

Das três razões para esta exceção, esta é a mais comum. O Azure Cosmos DB retorna essa exceção quando as RUs por operações em dados excedem as RU/s provisionadas.

Para investigar a possível causa de uma exceção 429 :

  1. Abra a página da sua conta do Azure Cosmos DB no portal do Azure.
  2. No menu Insights-Request>, observe os gráficos Total de solicitações por código de status e procure ocorrências da exceção 429.
  3. Se necessário, filtre os gráficos por Intervalo de Tempo e Banco de Dados para o período de tempo e o banco de dados desejados.

Para a maioria das aplicações, é normal ter menos de 5% dos pedidos, com 429 exceções.

Diagram that shows the charts by Status code and Throttled Request (429 exceptions).

Se a porcentagem de 429 exceções for superior a 5%, é possível que as exceções sejam causadas por uma partição quente.

Para verificar se o acesso ao banco de dados está se deparando com uma partição ativa, no portal do Azure na conta do Azure Cosmos DB, em Insights-Throughput>, revise os gráficos Consumo de RU normalizado (%) por PartitionKeyRangeID.

Diagram that shows the charts by throughput of a hot partition.

Limitação de taxa em solicitações de metadados

Uma exceção 429 pode ocorrer ao fazer um grande volume das seguintes operações de metadados:

  • Criar, ler, atualizar ou excluir um contêiner ou banco de dados
  • Listar bancos de dados ou contêineres em uma conta do Cosmos
  • Consultar a taxa de transferência provisionada atual

Para investigar se 429 exceções são causadas por solicitações de metadados, no portal do Azure na conta do Azure Cosmos DB, em Insights-System>, examine os gráficos Solicitações de metadados que excederam a capacidade (429s).

Diagram that shows the charts for metadata access.

Limitação de taxa devido a erro de serviço transitório

No momento em que você percebe 429 exceções acontecendo, você também pode notar 503 erros sendo relatados nos gráficos Insights-Request> Total Requestby Status Code . Essas exceções podem indicar que as 429 exceções estão acontecendo devido a erros de serviço transitórios.