Odhad a správa kapacity vyhledávací služby
Ve službě Azure AI Search je kapacita založená na replikách a oddílech, které je možné škálovat na vaši úlohu. Repliky jsou kopie vyhledávacího webu. Oddíly jsou jednotky úložiště. Každá nová vyhledávací služba začíná jednou, ale repliky a oddíly můžete přidávat nebo odebírat nezávisle tak, aby vyhovovaly proměnlivým úlohám. Přidání kapacity zvyšuje náklady na provoz vyhledávací služby.
Fyzické charakteristiky replik a oddílů, jako je rychlost zpracování a vstupně-výstupní operace disku, se liší podle úrovně služby. Ve standardní vyhledávací službě jsou repliky a oddíly rychlejší a větší než repliky základní služby.
Změna kapacity není okamžitá. Provizi nebo vyřazení oddílů z provozu může trvat až hodinu, zejména u služeb s velkým množstvím dat.
Při škálování vyhledávací služby si můžete vybrat z následujících nástrojů a přístupů:
Poznámka:
Oddíly s vyšší kapacitou jsou k dispozici ve stejné fakturační sazbě pro novější služby vytvořené po dubnu a květnu 2024. Další informace najdete v tématu Omezení služby pro upgrady velikosti oddílů.
Koncepty: jednotky vyhledávání, repliky, oddíly
Kapacita se vyjadřuje ve vyhledávacích jednotkách , které je možné přidělit kombinací oddílů a replik.
Koncepce | Definice |
---|---|
Jednotka vyhledávání | Jeden přírůstek celkové dostupné kapacity (36 jednotek). Ke spuštění služby se vyžaduje minimálně jedna jednotka. První replika a pár oddílů je první vyhledávací jednotka. Každá další instance repliky nebo oddílu ale využívá další vyhledávací jednotku. Například začnete s jednou replikou a oddílem (jedna jednotka vyhledávání), přidáte druhou repliku, teď používáte dvě jednotky hledání. Vyhledávací jednotka je také fakturační jednotka pro Search Azure AI. |
Replika | Instance vyhledávací služby, které se používají především k vyrovnávání zatížení operací dotazů. Každá replika hostuje jednu kopii indexu. Pokud přidělíte tři repliky, máte k dispozici tři kopie indexu pro žádosti o obsluhu dotazů. |
Oddíl | Fyzické úložiště a vstupně-výstupní operace pro operace čtení a zápisu (například při opětovném sestavení nebo aktualizaci indexu) Každý oddíl má řez celkového indexu. Pokud přidělíte tři oddíly, index se rozdělí na třetí oddíly. |
V tabulce oddílů a replik najdete možné kombinace, které zůstanou pod limitem 36 jednotek.
Kdy přidat kapacitu
Na začátku je služba přidělena minimální úroveň prostředků sestávající z jednoho oddílu a jedné repliky. Zvolená úroveň určuje velikost a rychlost oddílu a každá vrstva se optimalizuje kolem sady charakteristik, které odpovídají různým scénářům. Pokud zvolíte vyšší úroveň, možná budete potřebovat méně oddílů , než kdybyste přešli s S1. Jednou z otázek, na které budete muset odpovědět prostřednictvím samoobslužného testování, je to, jestli větší a dražší oddíl přináší lepší výkon než dva levnější oddíly ve službě zřízené na nižší úrovni.
Jedna služba musí mít dostatek prostředků pro zpracování všech úloh (indexování a dotazů). Žádná úloha se nespustí na pozadí. Indexování můžete naplánovat pro časy, kdy jsou požadavky dotazů přirozeně méně časté, ale služba jinak nebude upřednostňovat jeden úkol před druhým. Kromě toho určité množství redundance vyloučí výkon dotazů, když se služby nebo uzly aktualizují interně.
Mezi pokyny pro určení, jestli přidat kapacitu, patří:
- Splnění kritérií vysoké dostupnosti pro smlouvu o úrovni služeb
- Četnost chyb HTTP 503 se zvyšuje.
- Očekává se velké objemy dotazů.
Obecně platí, že vyhledávací aplikace obvykle potřebují více replik než oddíly, zejména pokud jsou operace služby zkreslené vůči úlohám dotazů. Každá replika je kopie indexu, která službě umožňuje vyrovnávat zatížení požadavků na více kopií. Azure AI Search spravuje veškeré vyrovnávání zatížení a replikaci indexu a počet replik přidělených vaší službě můžete kdykoli změnit. Ve standardní vyhledávací službě můžete přidělit až 12 replik a 3 repliky ve vyhledávací službě Basic. Přidělení repliky je možné provést buď z webu Azure Portal , nebo z některé z programových možností.
Další oddíly jsou užitečné pro náročné úlohy indexování. Další oddíly rozdělují operace čtení a zápisu do většího počtu výpočetních prostředků.
Dotazování větších indexů trvá déle. Můžete například zjistit, že každé přírůstkové zvýšení oddílů vyžaduje menší, ale proporcionální zvýšení replik. Složitost dotazů a objemu dotazů se projeví v tom, jak rychle se mění provádění dotazů.
Poznámka:
Přidání dalších replik nebo oddílů zvyšuje náklady na provoz služby a může představovat mírné odchylky způsobu řazení výsledků. Nezapomeňte zkontrolovat cenovou kalkulačku, abyste pochopili důsledky fakturace při přidávání dalších uzlů. Následující graf vám může pomoct křížově odkazovat na počet jednotek hledání požadovaných pro konkrétní konfiguraci. Další informace o tom, jak další repliky ovlivňují zpracování dotazů, najdete v tématu Řazení výsledků.
Jak změnit kapacitu
Pokud chcete zvýšit nebo snížit kapacitu vyhledávací služby, přidejte nebo odeberte oddíly a repliky.
Přihlaste se k webu Azure Portal a vyberte vyhledávací službu.
V části Nastavení otevřete stránku Škálování a upravte repliky a oddíly.
Následující snímek obrazovky ukazuje službu Standard zřízenou s jednou replikou a oddílem. Vzorec v dolní části označuje, kolik jednotek hledání se používá (1). Pokud by jednotková cena byla 100 USD (nikoli reálná cena), měsíční náklady na provoz této služby by byly v průměru 100 USD.
Pomocí posuvníku můžete zvýšit nebo snížit počet oddílů. Zvolte Uložit.
Tento příklad přidá druhou repliku a oddíl. Všimněte si počtu jednotek vyhledávání; je teď čtyři, protože fakturační vzorec je replikovaný oddíly (2 x 2). Zdvojnásobení kapacity více než zdvojnásobí náklady na provoz služby. Pokud by náklady na jednotku vyhledávání byly 100 USD, nová měsíční faktura by teď byla 400 USD.
Aktuální náklady na jednotku jednotlivých úrovní najdete na stránce Ceny.
Po uložení můžete zkontrolovat oznámení a potvrdit, že akce proběhla úspěšně.
Dokončení změn kapacity může trvat 15 minut až několik hodin. Po spuštění procesu není možné zrušit žádné monitorování repliky a oddílů v reálném čase. Následující zpráva ale zůstane viditelná, i když jsou změny probíhající.
Poznámka:
Po zřízení služby se nedá upgradovat na vyšší úroveň. Na nové úrovni musíte vytvořit vyhledávací službu a znovu načíst indexy. Nápovědu ke zřizování služeb najdete v tématu Vytvoření Search Azure AI na portálu.
Jak se zpracovávají žádosti o škálování
Po přijetí žádosti o škálování vyhledávací služba:
- Zkontroluje, jestli je požadavek platný.
- Spustí zálohování dat a systémových informací.
- Zkontroluje, jestli je služba již ve stavu zřizování (aktuálně přidává nebo odstraňuje repliky nebo oddíly).
- Spustí zřizování.
Škálování služby může trvat až 15 minut nebo déle než hodinu v závislosti na velikosti služby a rozsahu požadavku. Zálohování může trvat několik minut v závislosti na množství dat a počtu oddílů a replik.
Výše uvedené kroky nejsou zcela po sobě jdoucí. Systém například spustí zřizování, když to může bezpečně provést, což může být v době, kdy se zálohování vyřazují.
Chyby při škálování
Chybová zpráva Operace aktualizace služby nejsou v tuto chvíli povoleny, protože zpracováváme předchozí požadavek, je způsobená opakováním žádosti o vertikální snížení nebo navýšení kapacity, když služba už zpracovává předchozí požadavek.
Vyřešte tuto chybu tak, že zkontrolujete stav služby a ověříte stav zřizování:
- K získání stavu služby použijte rozhraní REST API pro správu, Azure PowerShell nebo Azure CLI.
- Volání služby Get Service (REST) nebo ekvivalentní pro PowerShell nebo rozhraní příkazového řádku
- Zkontrolujte odpověď na "provisioningState": "provisioning" (zřizování).
Pokud je stav Zřizování, počkejte na dokončení požadavku. Než se pokusíte o další požadavek, stav by měl být Úspěšný nebo Neúspěšný. Pro zálohování neexistuje žádný stav. Zálohování je interní operace a není pravděpodobné, že by to bylo faktorem jakéhokoli přerušení cvičení škálování.
Pokud se zdá, že vyhledávací služba je ve stavu zřizování zastavená, zkontrolujte, jestli nejsou osamocené indexy nepoužitelné, s nulovými objemy dotazů a bez aktualizací indexu. Nepoužitelný index může blokovat změny kapacity služby. Hledejte zejména indexy, které jsou zašifrované pomocí klíče CMK, jejichž klíče už nejsou platné. Index byste měli odstranit nebo obnovit klíče, aby se index vrátil do režimu online a odblokuje se operace škálování.
Kombinace oddílů a replik
Následující graf platí pro úroveň Standard a vyšší. Zobrazuje všechny možné kombinace oddílů a replik, které podléhají maximálnímu počtu 36 jednotek vyhledávání na službu.
1 oddíl | 2 oddíly | 3 oddíly | 4 oddíly | 6 oddílů | 12 oddílů | |
---|---|---|---|---|---|---|
1 replika | 1 SU | 2 SU | 3 SU | 4 SU | 6 SU | 12 SU |
2 repliky | 2 SU | 4 SU | 6 SU | 8 SU | 12 SU | 24 SU |
3 repliky | 3 SU | 6 SU | 9 SU | 12 SU | 18 SU | 36 SU |
4 repliky | 4 SU | 8 SU | 12 SU | 16 SU | 24 SU | – |
5 replik | 5 SU | 10 SU | 15 SU | 20 SU | 30 SU | – |
6 replik | 6 SU | 12 SU | 18 SU | 24 SU | 36 SU | – |
12 replik | 12 SU | 24 SU | 36 SU | – | – | N/A |
Základní vyhledávací služby mají nižší počet jednotek vyhledávání.
Ve vyhledávacích službách vytvořených před 3. dubnem 2024 může mít základní vyhledávací služba přesně jeden oddíl a až tři repliky pro maximální limit tří jednotek SU. Jediný upravitelný prostředek je repliky.
Ve vyhledávacích službách vytvořených po 3. dubnu 2024 v podporovaných oblastech můžou mít základní služby až tři oddíly a tři repliky. Maximální limit SU je devět, aby podporoval úplný doplněk oddílů a replik.
Pro vyhledávací služby na libovolné fakturovatelné úrovni bez ohledu na datum vytvoření potřebujete minimálně dvě repliky pro zajištění vysoké dostupnosti dotazů.
Informace o fakturačních sazbách na úrovni a měně najdete na stránce s cenami služby Azure AI Search.
Odhad kapacity s využitím fakturovatelné úrovně
Požadavky na úložiště jsou určeny velikostí indexů, které očekáváte při sestavování. Neexistují žádné pevné heuristické ani generality, které pomáhají s odhady. Jediný způsob, jak určit velikost indexu, je jeden z nich. Jeho velikost je založená na tokenizaci a vkládání a jestli povolíte sugestory, filtrování a řazení, nebo můžete využít kompresi vektorů.
Doporučujeme odhadnout fakturovatelnou úroveň Basic nebo vyšší. Úroveň Free běží na fyzických prostředcích sdílených více zákazníky a podléhá faktorům nad rámec vaší kontroly. Pro realističtější odhady množství indexu, velikosti a objemů dotazů během vývoje můžou obsahovat pouze vyhrazené prostředky fakturovatelné vyhledávací služby.
Zkontrolujte limity služeb na jednotlivých úrovních a zjistěte, jestli nižší úrovně můžou podporovat požadovaný počet indexů. Zvažte, jestli potřebujete více kopií indexu pro aktivní vývoj, testování a produkci.
Vyhledávací služba podléhá omezením objektů (maximální počet indexů, indexerů, sad dovedností atd.) a limitů úložiště. Podle toho, který limit je dosažen jako první, je efektivní limit.
Vytvořte službu na fakturovatelné úrovni. Úrovně jsou optimalizované pro určité úlohy. Například úroveň Optimalizováno pro úložiště má limit 10 indexů, protože je navržená tak, aby podporovala nízký počet velmi velkých indexů.
Pokud si nejste jistí, jestli si nejste jistí, jestli máte projektované zatížení, začněte nízkou úrovní úrovně Basic nebo S1.
Pokud testování zahrnuje rozsáhlé indexování a načítání dotazů, začněte vysoko na úrovni S2 nebo dokonce S3.
Pokud indexujete velké množství dat a zatížení dotazů je relativně nízké, začněte s optimalizací úložiště v L1 nebo L2, stejně jako u interní obchodní aplikace.
Vytvořte počáteční index , abyste zjistili, jak se zdrojová data překládají na index. Toto je jediný způsob, jak odhadnout velikost indexu. Atributy definic polí ovlivňují požadavky fyzického úložiště:
Při hledání podle klíčových slov se pole označí jako filtrovatelná a seřadí se velikost indexu.
Pro vektorové vyhledávání můžete nastavit parametry pro zmenšení velikosti vektoru.
Monitorujte úložiště, limity služeb, objem dotazů a latenci na portálu. Na portálu se zobrazují dotazy za sekundu, omezené dotazy a latence vyhledávání. Všechny tyto hodnoty vám můžou pomoct rozhodnout, jestli jste vybrali správnou úroveň.
Přidejte repliky pro vysokou dostupnost nebo zmírníte nízký výkon dotazů.
Neexistují žádné pokyny k tomu, kolik replik je potřeba k přizpůsobení zatížení dotazů. Výkon dotazů závisí na složitosti dotazu a konkurenčních úlohách. I když přidávání replik jasně vede k lepšímu výkonu, výsledek není striktně lineární: přidání tří replik nezaručuje trojitou propustnost. Pokyny k odhadu QPS pro vaše řešení najdete v tématu Analýza výkonua monitorování dotazů.
U invertovaného indexu se velikost a složitost určují obsahem, ne nutně množstvím dat, která do něj vytáčíte. Velký zdroj dat s vysokou redundancí může mít za následek menší index než menší datovou sadu, která obsahuje vysoce proměnlivý obsah. Proto je zřídka možné odvodit velikost indexu na základě velikosti původní datové sady.
Požadavky na úložiště se dají nafouknout, pokud zahrnete data, která se nikdy nebudou prohledávat. V ideálním případě dokumenty obsahují jenom data, která potřebujete pro vyhledávání.
Důležité informace o smlouvě o úrovni služeb
Funkce úrovně Free a Preview se nevztahují na smlouvy o úrovni služeb (SLA). U všech fakturovatelných úrovní se smlouvy SLA projeví při zřizování dostatečné redundance pro vaši službu.
Dvě nebo více replik vyhovují smlouvám SLA pro dotazy (čtení).
Smlouvy SLA pro dotazy a indexování (čtení a zápis) splňují tři nebo více replik.
Počet oddílů nemá vliv na smlouvy SLA.