Evitar erros de limitação de taxa em operações do Azure Cosmos DB for MongoDB
APLICA-SE AO: MongoDB
As operações do Azure Cosmos DB for MongoDB podem encontrar limitação de taxa, resultando em 16.500 erros nas métricas de solicitação do Mongo, se excederem o limite de taxa de transferência (RUs) de uma coleção.
Ative a Repetição do Lado do Servidor (SSR) para automatizar as novas tentativas de operação. A SSR tenta novamente as solicitações em todas as coleções da sua conta com pequenos atrasos. Se o tempo limite de 60 segundos for atingido, o cliente receberá uma exceção ExceededTimeLimit (50).
Use o Portal do Azure
Entre no portal do Azure.
Navegue para sua conta do Azure Cosmos DB for MongoDB.
Vá para o painel Recursos abaixo da seção Configurações.
Selecione Repetição do Lado do Servidor.
Clique em Habilitar para habilitar esse recurso para todas as coleções em sua conta.
Usar a CLI do Azure
Verifique se o SSR já está habilitado para sua conta:
az cosmosdb show --name accountname --resource-group resourcegroupname
Habilite a SSR para todas as coleções na conta de banco de dados. Pode levar até 15 minutos para que essa alteração tenha efeito.
az cosmosdb update --name accountname --resource-group resourcegroupname --capabilities EnableMongo DisableRateLimitingResponses
O comando a seguir desabilitará a repetição do lado do servidor para todas as coleções em sua conta de banco de dados, removendo
DisableRateLimitingResponses
da lista de funcionalidades. Pode levar até 15 minutos para que essa alteração tenha efeito.az cosmosdb update --name accountname --resource-group resourcegroupname --capabilities EnableMongo
Perguntas frequentes
Como posso monitorar os efeitos de uma repetição do lado do servidor?
Você pode pesquisar por entradas de log que contenham estimatedDelayFromRateLimitingInMilliseconds em seus logs de recursos do Azure Cosmos DB.
A repetição do lado do servidor afetará meu nível de consistência?
A repetição do lado do servidor não afeta a consistência de uma solicitação. As solicitações são repetidas no lado do servidor se estiverem limitadas por taxa.
A repetição do lado do servidor afeta qualquer tipo de erro que meu cliente possa receber?
Não, a nova tentativa no lado do servidor afeta somente os erros de limitação de taxa, repetindo-os no lado do servidor. Esse recurso impede que você precise manipular erros de limitação de taxa no aplicativo cliente. Todos os outros erros vão para o cliente.
Próximas etapas
Para saber mais sobre como solucionar erros comuns, veja este artigo:
Tentando fazer um Planejamento da capacidade para uma migração para o Azure Cosmos DB? Você pode usar informações sobre o cluster de banco de dados existente para fazer isso.
- Para saber como redistribuir a taxa de transferência entre partições, consulte Saiba como redistribuir a taxa de transferência entre partições
- Se tudo o que você sabe é o número de vCores e servidores no cluster de banco de dados existente, leia sobre como estimar unidades de solicitação usando vCores ou vCPUs
- Se souber as taxas de solicitação típicas da carga de trabalho do banco de dados atual, leia sobre como estimar unidades de solicitação usando o planejador de capacidade do Azure Cosmos DB