Osvědčené postupy integrace
Služby Azure DevOps
Nástroje a integrace mezi službami zlepšují efektivitu služby Azure DevOps Services. Pokud nejste opatrní, automatizované nástroje se můžou dostat z kontroly při provádění vysoké míry požadavků. Požadavky způsobují, že Azure DevOps vynucuje omezení rychlosti pro vaši organizaci. Pokud chcete snížit riziko dosažení limitů rychlosti, postupujte podle těchto osvědčených postupů při použití rozhraní REST API k integraci s Azure DevOps.
Nabízení pouze pracovních položek s možností akce
Do Azure DevOps, na které se váš tým chystá zapojit nebo řešit v budoucnu, můžete do Azure DevOps odesílat jenom akce. Ponechte pracovní položky mimo Azure DevOps, dokud nebude potřeba. Nepokoušejte se například ukládat telemetrická data v Azure DevOps.
Údržba vlastního úložiště dat
Nepřidávejte do Azure DevOps pracovní položky kvůli tomu, že jsou všechny na jednom místě. Služba Azure DevOps Services není navržená jako služba úložiště dat. Udržujte si vlastní úložiště dat.
Dávkování změn
Provádění jednotlivých operací je pomalé a nákladné, což je hlavní příčinou problémů s výkonem a omezování rychlosti. Zasaďte změny do jednoho volání. Další informace najdete v naší dávkové dokumentaci a vzorovém kódu.
Omezení revizí
Mnoho revizí jedné pracovní položky vytváří bloud a způsobuje problémy s výkonem. Doporučujeme provést následující úlohy:
- Snižte počet aktualizací dávkováním změn polí. Neaktualizovat jenom jedno pole najednou.
- Pokud máte změny více pracovních položek, proveďte dávku těchto změn do jedné akce.
- Udržujte minimální počet revizí, abyste se vyhnuli omezením revizí.
Poznámka:
Omezení revize pracovních položek 10 000 se projeví u aktualizací provedených prostřednictvím rozhraní REST API. Tento limit omezuje aktualizace z rozhraní REST API, ale aktualizace z webového portálu to neovlivní.
Optimalizace dotazů
Optimalizujte dotazy tak, aby vracely skromný počet výsledků. Složité podmínky a filtry můžou vést k dlouhotrvajícím dotazům. Zachovejte dobu provádění dotazů do 30 sekund, abyste se vyhnuli chybám prahové hodnoty.
Tipy k výkonu dotazů
- Kdykoli je to možné, umístěte klauzuli omezení data nebo rozsahu do horní části dotazu.
- Snižte počet klauzulí, které používají operátor Ever .
- Snižte počet klauzulí, které používají operátor Contains s výjimkou značek.
- Pokud je k dispozici, použijte operátor Obsahuje slova.
- Nepoužívejte operátor Contains u dlouhých textových polí, protože je nákladný.
- Pokud je to možné, vyhněte se operátorům "<>" a ne.
- Nepoužívejte operátor In Group pro velké skupiny.
- Minimalizujte počet operátorů Nebo a před použitím se ujistěte, že stále máte rozsah nejvyšší úrovně.
- Nepoužívejte klauzuli OR mezi operátorem In Group a oblastmi nebo cestami iterace.
- Pokud je to možné, snižte počet celkových klauzulí, abyste dosáhli svého cíle.
- Pokud je to možné, vyhněte se řazení podle čehokoli jiného než základních polí, jako je ID.
- Pokud chcete řadit podle vlastního pole, použijte vlastní pole ve filtrech.
- Pokud je to možné, zadejte projekt. V opačném případě se dotaz nastaví na celou kolekci a může trvat výrazně déle, než je potřeba. V editoru dotazů zrušte zaškrtnutí políčka Dotazovat napříč projekty v pravém horním rohu.
Dotazování napříč projekty
- Určete, který projekt hledáte, pokud dotaz vyžaduje hledání napříč projekty.
- Pokud je to možné, používejte značky místo klíčových slov, pokud nehledáte částečný text řetězce.
Řádné zpracování selhání
Aktualizace a dotazy selžou, když limity prostředků nebo četnost využití překročí mezní hodnotu limitu. Například dotaz, který běží déle než 30 sekund, vrátí následující chybu:
VS402335: The timeout period (30 seconds) elapsed prior to completion of the query or the server is not responding.
Při používání rozhraní REST API se ujistěte, že kód navrhnete tak, aby správně zpracovával chyby.
Omezení odkazů
Omezte počet odkazů na pracovní položku co nejvíce, abyste se vyhnuli vynucení limitů propojení.
Důležité
V blízké budoucnosti plánujeme vynutit omezení revizí pracovních položek a propojení. Tato omezení se určují monitorováním výkonu a zpětnou vazbou zákazníků.
Nepoužívejte dotazy pro vytváření sestav.
Použití dotazů a volání jednotlivých pracovních položek představuje nejlepší způsob, jak vynutit omezení rychlosti ve vaší organizaci. Nespouštět dotazy, které vracejí velké seznamy pracovních položek. Místo toho použijte odkazy pracovní položky pro vytváření sestav a revizí pracovních položek rozhraní REST API.
Další informace najdete v naší ukázce jazyka C# na GitHubu.