Prevence chyb omezování rychlosti u operací ve službě Azure Cosmos DB for MongoDB
PLATÍ PRO: MongoDB
U operací Azure Cosmos DB pro MongoDB může docházet k omezování rychlosti, což vede k chybám 16500 v metrikách požadavků Mongo, pokud překročí limit propustnosti kolekce (RU).
Povolte opakování na straně serveru (SSR) a automatizujte opakování operací. SSR opakuje žádosti napříč všemi kolekcemi ve vašem účtu s krátkými zpožděními. Pokud dojde k dosažení časového limitu 60 sekund, klient obdrží výjimku ExceededTimeLimit (50).
Použití portálu Azure Portal
Přihlaste se k portálu Azure.
Přejděte ke svému účtu Služby Azure Cosmos DB pro MongoDB.
Přejděte do podokna Funkce pod oddílem Nastavení .
Vyberte Možnost Opakovat na straně serveru.
Kliknutím na Povolit povolíte tuto funkci pro všechny kolekce ve vašem účtu.
Použití Azure CLI
Zkontrolujte, jestli je pro váš účet už povolené rozhraní SSR:
az cosmosdb show --name accountname --resource-group resourcegroupname
Povolte SSR pro všechny kolekce ve vašem databázovém účtu. Může trvat až 15 minut, než se tato změna projeví.
az cosmosdb update --name accountname --resource-group resourcegroupname --capabilities EnableMongo DisableRateLimitingResponses
Následující příkaz zakáže opakování na straně serveru pro všechny kolekce ve vašem databázovém účtu odebráním
DisableRateLimitingResponses
ze seznamu funkcí. Může trvat až 15 minut, než se tato změna projeví.az cosmosdb update --name accountname --resource-group resourcegroupname --capabilities EnableMongo
Nejčastější dotazy
Jak můžu monitorovat účinky opakování na straně serveru?
V protokolech prostředků Služby Azure Cosmos DB můžete vyhledat položky protokolu obsahující odhadDelayFromRateLimitingInMilliseconds.
Bude opakování na straně serveru mít vliv na úroveň konzistence?
Opakování na straně serveru nemá vliv na konzistenci požadavku. Požadavky se budou opakovat na straně serveru, pokud jsou omezené rychlostí.
Má opakování na straně serveru vliv na nějaký typ chyby, kterou může klient obdržet?
Ne, opakování na straně serveru má vliv jenom na chyby omezování rychlosti tím, že je zkusíte zopakovat na straně serveru. Tato funkce vám brání v zpracování chyb omezování rychlosti v klientské aplikaci. Všechny ostatní chyby budou chodit do klienta.
Další kroky
Další informace o řešení běžných chyb najdete v tomto článku:
Pokoušíte se naplánovat kapacitu migrace do služby Azure Cosmos DB? Informace o stávajícím databázovém clusteru můžete použít k plánování kapacity.
- Informace o tom, jak distribuovat propustnost napříč oddíly, najdete v tématu Informace o redistribuci propustnosti napříč oddíly
- Pokud víte, že je počet virtuálních jader a serverů ve vašem existujícím databázovém clusteru, přečtěte si o odhadu jednotek žádostí pomocí virtuálních jader nebo virtuálních procesorů.
- Pokud znáte typické sazby požadavků pro vaši aktuální úlohu databáze, přečtěte si informace o odhadu jednotek žádostí pomocí plánovače kapacity služby Azure Cosmos DB.