Sdílet prostřednictvím


Osvědčené postupy pro sadu Python SDK ve službě Azure Cosmos DB for NoSQL

Tato příručka obsahuje osvědčené postupy pro řešení sestavená pomocí nejnovější verze sady Python SDK pro Azure Cosmos DB for NoSQL. Tady uvedené osvědčené postupy pomáhají zlepšit latenci, zlepšit dostupnost a zvýšit celkový výkon vašich řešení.

Konfigurace účtu

  • Nezapomeňte aplikaci spustit ve stejné oblasti Azure jako účet služby Azure Cosmos DB, kdykoli je to možné, abyste snížili latenci. Povolte replikaci ve více než 2 oblastech ve vašich účtech pro zajištění nejlepší dostupnosti. Pro produkční úlohy povolte převzetí řízené službou. Při absenci této konkrétní konfigurace dochází u účtu ke ztrátě možnosti zápisu po celou dobu výpadku oblasti zápisu, protože ruční přepnutí selže kvůli nedostatku připojení k oblasti. Další informace o tom, jak přidat více oblastí pomocí sady Python SDK, najdete v kurzu globální distribuce.

Využití sady SDK

  • Vždy používejte nejnovější verzi sady SDK služby Azure Cosmos DB, která je k dispozici pro optimální výkon.
  • Pro zajištění lepšího výkonu použijte jednu instanci CosmosClient po celou dobu životnosti aplikace.
  • preferred_locations Nastavte konfiguraci v klientovi cosmos. Během přepnutí při selhání se operace zápisu odesílají do aktuálního zapisovacího regionu a všechna čtení se odesílají do prvního regionu v seznamu upřednostňovaných umístění. Další informace o regionálních mechanismech převzetí služeb při selhání najdete v Řešení problémů s dostupností.
  • Přechodná chyba je chyba, která má základní příčinu, která se brzy vyřeší sama. Aplikace, které se připojují k databázi, by měly být vytvořené tak, aby očekávaly tyto přechodné chyby. Pokud je chcete zpracovat, implementujte do kódu logiku opakování, místo abyste je zobrazovali uživatelům jako chyby aplikace. Sada SDK má integrovanou logiku pro zpracování těchto přechodných selhání u opakovaných požadavků, jako jsou operace čtení nebo dotazování. SDK nemůže opakovat pokusy o zápis při přechodných chybách, protože zápisy nejsou idempotentní. Sada SDK umožňuje uživatelům konfigurovat logiku opětovného pokusu pro řízení zátěže. Podrobnosti o chybách, které je třeba opakovat, najdete zde.
  • Protokolování sady SDK slouží k zaznamenání diagnostických informací a řešení potíží s latencí.

Návrh dat

  • Poplatek za žádost určené operace je přímo úměrný velikosti dokumentu. Doporučujeme zmenšit velikost dokumentů, protože operace s velkými dokumenty stojí více než operace s menšími dokumenty.
  • Některé znaky jsou omezené a nelze je použít v některých identifikátorech: '/', '\', '?', '#'. Obecné doporučení je nepoužívat žádné speciální znaky v identifikátorech, jako je název databáze, název kolekce, ID položky nebo klíč oddílu, aby nedošlo k neočekávanému chování.
  • Zásady indexování služby Azure Cosmos DB také umožňují určit, které cesty k dokumentu se mají zahrnout nebo vyloučit z indexování pomocí cest indexování. Zajistěte, abyste vyloučili nepoužívané cesty z indexování pro rychlejší zápisy. Další informace najdete v tématu vytváření indexů pomocí ukázky sady SDK.

Vlastnosti hostitele

  • Kvůli nedostatku prostředků na klientském počítači můžete narazit na problémy s připojením nebo dostupností. Sledujte využití procesoru na uzlech, kde běží klient Azure Cosmos DB. Pokud je využití vysoké, zvyšte kapacitu vertikálně nebo horizontálně.
  • Pokud ke spuštění aplikace používáte virtuální počítač, povolte na svém virtuálním počítači zrychlené síťové připojení, aby se snížila latence nebo kolísání procesoru a pomohlo se s kritickými body způsobenými vysokým provozem. Můžete také zvážit použití vyššího koncového virtuálního počítače, ve kterém je maximální využití procesoru nižší než 70 %.
  • Ve výchozím nastavení se výsledky dotazu vrátí v blocích po 100 položkách nebo 4 MB, podle toho, jaký limit se dosáhne prvního. Pokud dotaz vrátí více než 100 položek, zvyšte velikost stránky, abyste snížili počet požadovaných spojení. Při zvyšování velikosti stránky se zvyšuje spotřeba paměti.

Další kroky

Další informace o tipech pro zvýšení výkonu pro sadu Python SDK najdete v tématu Tipy pro zvýšení výkonu pro sadu Python SDK služby Azure Cosmos DB.

Další informace o návrhu aplikace pro škálování a vysoký výkon najdete v tématu Dělení a škálování ve službě Azure Cosmos DB.

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.