Frequentiebeperkingsfouten voorkomen voor Azure Cosmos DB voor MongoDB-bewerkingen
VAN TOEPASSING OP: MongoDB
Azure Cosmos DB voor MongoDB-bewerkingen kunnen snelheidsbeperking ondervinden, wat resulteert in 16500 fouten in metrische mongo-aanvragen als ze de doorvoerlimiet (RU's) van een verzameling overschrijden.
Schakel SSR (Server Side Retry) in om nieuwe pogingen voor bewerkingen te automatiseren. Aanvragen voor SSR worden opnieuw geprobeerd voor alle verzamelingen in uw account met korte vertragingen. Als een time-out van 60 seconden is bereikt, ontvangt een client een ExceededTimeLimit-uitzondering (50).
De Azure-portal gebruiken
Meld u aan bij het Azure-portaal.
Navigeer naar uw Azure Cosmos DB voor MongoDB-account.
Ga naar het deelvenster Functies onder de sectie Instellingen .
Selecteer Opnieuw proberen aan serverzijde.
Klik op Inschakelen om deze functie in te schakelen voor alle verzamelingen in uw account.
De Azure CLI gebruiken
Controleer of SSR al is ingeschakeld voor uw account:
az cosmosdb show --name accountname --resource-group resourcegroupname
Schakel SSR in voor alle verzamelingen in uw databaseaccount. Het kan tot 15 minuten duren voordat deze wijziging van kracht wordt.
az cosmosdb update --name accountname --resource-group resourcegroupname --capabilities EnableMongo DisableRateLimitingResponses
Met de volgende opdracht wordt het opnieuw proberen aan de serverzijde uitgeschakeld voor alle verzamelingen in uw databaseaccount door deze uit de lijst met mogelijkheden te verwijderen
DisableRateLimitingResponses
. Het kan tot 15 minuten duren voordat deze wijziging van kracht wordt.az cosmosdb update --name accountname --resource-group resourcegroupname --capabilities EnableMongo
Veelgestelde vragen
Hoe kan ik de effecten van een nieuwe poging aan de serverzijde controleren?
U kunt zoeken naar logboekvermeldingen met estimatedDelayFromRateLimitingInMilliseconds in uw Azure Cosmos DB-resourcelogboeken.
Is het opnieuw proberen aan de serverzijde van invloed op mijn consistentieniveau?
het opnieuw proberen aan de serverzijde heeft geen invloed op de consistentie van een aanvraag. Aanvragen worden opnieuw geprobeerd aan de serverzijde als ze beperkt zijn.
Heeft een nieuwe poging aan de serverzijde invloed op elk type fout dat mijn client kan ontvangen?
Nee, nieuwe pogingen aan de serverzijde zijn alleen van invloed op frequentiebeperkingsfouten door ze opnieuw te proberen aan de serverzijde. Met deze functie voorkomt u dat u fouten met snelheidsbeperking in de clienttoepassing moet afhandelen. Alle andere fouten gaan naar de client.
Volgende stappen
Zie dit artikel voor meer informatie over het oplossen van veelvoorkomende fouten:
Wilt u capaciteitsplanning uitvoeren voor een migratie naar Azure Cosmos DB? U kunt informatie over uw bestaande databasecluster gebruiken voor capaciteitsplanning.
- Voor meer informatie over het opnieuw distribueren van doorvoer tussen partities, raadpleegt u Meer informatie over het opnieuw distribueren van doorvoer tussen partities
- Als alles wat u weet het aantal vcores en servers in uw bestaande databasecluster is, leest u meer over het schatten van aanvraageenheden met behulp van vCores of vCPU's
- Als u typische aanvraagtarieven voor uw huidige databaseworkload kent, leest u meer over het schatten van aanvraageenheden met behulp van azure Cosmos DB-capaciteitsplanner