Förhindra frekvensbegränsande fel för Azure Cosmos DB för MongoDB-funktioner
GÄLLER FÖR: MongoDB
Azure Cosmos DB för MongoDB-åtgärder kan stöta på hastighetsbegränsning, vilket resulterar i 1 6500 fel i mongo-begärandemått, om de överskrider en samlings dataflödesgräns (RU:er).
Aktivera SSR (Server Side Retry) för att automatisera återförsök. SSR försöker skicka begäranden på nytt i alla samlingar på ditt konto med korta fördröjningar. Om en tidsgräns på 60 sekunder uppnås får en klient ett ExceededTimeLimit-undantag (50).
Använda Azure Portal
Logga in på Azure-portalen.
Gå till ditt Azure Cosmos DB för MongoDB-konto.
Gå till fönstret Funktioner under avsnittet Inställningar .
Välj Försök igen på serversidan.
Klicka på Aktivera för att aktivera den här funktionen för alla samlingar i ditt konto.
Använda Azure CLI
Kontrollera om SSR redan är aktiverat för ditt konto:
az cosmosdb show --name accountname --resource-group resourcegroupname
Aktivera SSR för alla samlingar i ditt databaskonto. Det kan ta upp till 15 minuter innan ändringen börjar gälla.
az cosmosdb update --name accountname --resource-group resourcegroupname --capabilities EnableMongo DisableRateLimitingResponses
Följande kommando inaktiverar återförsök på serversidan för alla samlingar i databaskontot genom att ta bort
DisableRateLimitingResponses
från listan över funktioner. Det kan ta upp till 15 minuter innan ändringen börjar gälla.az cosmosdb update --name accountname --resource-group resourcegroupname --capabilities EnableMongo
Vanliga frågor och svar
Hur kan jag övervaka effekterna av ett nytt försök på serversidan?
Du kan söka efter loggposter som innehåller estimatedDelayFromRateLimitingInMilliseconds i dina Azure Cosmos DB-resursloggar.
Kommer återförsök på serversidan att påverka min konsekvensnivå?
Återförsök på serversidan påverkar inte konsekvensen för en begäran. Begäranden görs på nytt på serversidan om de är hastighetsbegränsade.
Påverkar omförsök på serversidan någon typ av fel som min klient kan ta emot?
Nej, omförsök på serversidan påverkar endast hastighetsbegränsningsfel genom att försöka igen på serversidan. Den här funktionen hindrar dig från att behöva hantera hastighetsbegränsningsfel i klientprogrammet. Alla andra fel går till klienten.
Nästa steg
Mer information om hur du felsöker vanliga fel finns i den här artikeln:
Försöker du planera kapacitet för en migrering till Azure Cosmos DB? Du kan använda information om ditt befintliga databaskluster för kapacitetsplanering.
- Information om hur du omdistribuerar dataflöde mellan partitioner finns i Lär dig hur du distribuerar dataflöde mellan partitioner
- Om allt du vet är antalet virtuella kärnor och servrar i ditt befintliga databaskluster läser du om att uppskatta enheter för begäranden med virtuella kärnor eller virtuella kärnor
- Om du känner till vanliga begärandefrekvenser för din aktuella databasarbetsbelastning kan du läsa om att uppskatta enheter för begäranden med azure Cosmos DB-kapacitetshanteraren