Sdílet prostřednictvím


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

  1. Přihlaste se k portálu Azure.

  2. Přejděte ke svému účtu Služby Azure Cosmos DB pro MongoDB.

  3. Přejděte do podokna Funkce pod oddílem Nastavení .

  4. Vyberte Možnost Opakovat na straně serveru.

  5. Kliknutím na Povolit povolíte tuto funkci pro všechny kolekce ve vašem účtu.

Snímek obrazovky s funkcí opakování na straně serveru pro Azure Cosmos DB pro MongoDB

Použití Azure CLI

  1. Zkontrolujte, jestli je pro váš účet už povolené rozhraní SSR:

    az cosmosdb show --name accountname --resource-group resourcegroupname
    
  2. 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
    
  3. 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.