Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W usłudze Azure AI Search pojemność jest oparta na replikach i partycjach, które można skalować w zależności od obciążenia. Repliki są kopiami wyszukiwarki. Partycje to jednostki magazynu. Każda nowa usługa wyszukiwania rozpoczyna się od jednej z nich, ale można niezależnie dodawać lub usuwać repliki i partycje, aby uwzględnić zmienne obciążenia. Dodanie pojemności zwiększa koszt uruchamiania usługi wyszukiwania.
Fizyczne cechy replik i partycji, takie jak szybkość przetwarzania i operacje we/wy dysku, różnią się w zależności od warstwy cenowej. W standardowej usłudze wyszukiwania repliki i partycje są szybsze i większe niż w przypadku usługi bazowej.
Zmiana pojemności nie jest natychmiastowa. Uruchomienie lub zlikwidowanie partycji może potrwać do godziny, zwłaszcza w przypadku usług z dużą ilością danych.
Podczas skalowania usługi wyszukiwania można wybrać spośród następujących narzędzi i metod:
Uwaga
Jeśli usługa została utworzona przed kwietniem lub majem 2024 r., jednorazowe uaktualnienie do wyższych limitów magazynu może być dostępne bez dodatkowych kosztów. Aby uzyskać więcej informacji, zobacz Uaktualnianie usługi wyszukiwania.
Pojęcia: jednostki wyszukiwania, repliki, partycje
Pojemność jest wyrażona w jednostkach wyszukiwania, które można przydzielić poprzez kombinacje partycji i replik.
| Pojęcie | Definicja |
|---|---|
| Jednostka wyszukiwania | Pojedynczy przyrost całkowitej dostępnej pojemności. Do uruchomienia usługi jest wymagana co najmniej jedna jednostka wyszukiwania. W zależności od warstwy cenowej maksymalna wartość waha się od jednej do 36 jednostek. Liczba jednostek wyszukiwania jest równa liczbie replik pomnożonych przez liczbę partycji: R × P = SU. Każda usługa rozpoczyna się od jednej repliki i jednej partycji, która zużywa jedną jednostkę: 1 × 1 = 1. Dodanie drugiej repliki zużywa dwie jednostki: 2 × 1 = 2. Jednostka wyszukiwania jest również jednostką rozliczeniową dla usługi wyszukiwania. |
| Replika | Wystąpienia usługi wyszukiwania używane głównie do równoważenia obciążenia operacji zapytań. Każda replika hostuje jedną kopię indeksu. Jeśli przydzielasz trzy repliki, masz trzy kopie indeksu dostępne na potrzeby obsługi żądań zapytań. |
| Partycja | Pamięć fizyczna i operacje we/wy dla odczytu/zapisu (na przykład podczas odbudowywania lub odświeżania indeksu). Każda partycja ma fragment całkowitego indeksu. Jeśli przydzielisz trzy partycje, twój indeks zostanie podzielony na trzy części. |
Przejrzyj tabelę partycji i replik, aby znaleźć możliwe kombinacje, które pozostają poniżej limitu 36 jednostek.
Kiedy dodać pojemność
Początkowo usłudze przydzielany jest minimalny poziom zasobów, składający się z jednej partycji i jednej repliki. Wybrana warstwa określa rozmiar partycji i szybkość, a każda warstwa jest zoptymalizowana pod kątem zestawu cech pasujących do różnych scenariuszy. Jeśli wybierzesz warstwę wyższej klasy, może być potrzebna mniejsza liczba partycji niż w przypadku korzystania z warstwy S1. Jednym z pytań, na które należy odpowiedzieć za pomocą samodzielnego testowania, jest to, czy większa i droższa partycja daje lepszą wydajność niż dwie tańsze partycje w usłudze aprowizowanej w niższej warstwie.
Pojedyncza usługa musi mieć wystarczające zasoby do obsługi wszystkich obciążeń (indeksowania i zapytań). Żadne obciążenie nie jest uruchamiane w tle. Indeksowanie można zaplanować w czasie, gdy żądania zapytań są naturalnie rzadziej spotykane, ale usługa nie określa priorytetu jednego zadania na innym. Ponadto pewna ilość nadmiarowości łagodzi wydajność zapytań, gdy wewnętrznie aktualizowane są usługi lub węzły.
Wskazówki dotyczące określania, czy należy dodać pojemność, obejmują:
- Spełnianie kryteriów wysokiej dostępności dla umowy o poziomie usług.
- Częstotliwość błędów HTTP 503 (usługa niedostępna) rośnie.
- Częstotliwość błędów HTTP 429 (zbyt wiele żądań) rośnie, co wskazuje na niską ilość miejsca do magazynowania.
- Duże woluminy zapytań są oczekiwane.
- Jednorazowe uaktualnienie do nowszej infrastruktury i większych partycji nie jest wystarczające.
- Bieżąca liczba partycji nie jest odpowiednia dla obciążeń indeksowania.
Ogólnie rzecz biorąc, aplikacje wyszukiwania zwykle potrzebują większej liczby replik niż partycji, zwłaszcza gdy operacje usług są skierowane na obciążenia zapytań. Każda replika jest kopią twojego indeksu, pozwalając usłudze na rozłożenie obciążenia żądań na wiele kopii. Usługa Azure AI Search zarządza wszystkimi równoważeniami obciążenia i replikacją indeksu i można zmienić liczbę replik przydzielonych dla usługi w dowolnym momencie. W standardowej usłudze wyszukiwania można przydzielić maksymalnie 12 replik, a w podstawowej usłudze wyszukiwania 3 repliki. Alokacją repliki można zarządzać za pomocą witryny Azure Portal lub jednej z programowych opcji.
Dodatkowe partycje są przydatne w przypadku intensywnych obciążeń indeksowania. Dodatkowe partycje rozkładają operacje odczytu/zapisu w większej liczbie zasobów obliczeniowych.
Na koniec wykonywanie zapytań o większe indeksy trwa dłużej. W związku z tym może się okazać, że każdy kolejny wzrost liczby partycji wymaga mniejszego, ale proporcjonalnego zwiększenia liczby replik. Złożoność zapytań oraz ich wolumin wpływają na to, jak szybko następuje wykonanie zapytań.
Uwaga
Dodanie większej liczby replik lub partycji zwiększa koszt działania usługi i może wprowadzać niewielkie różnice w sposobie porządkowenia wyników. Pamiętaj, aby sprawdzić kalkulator cen, aby zrozumieć implikacje dotyczące rozliczeń dodawania kolejnych węzłów. Na poniższym wykresie można odwoływać się krzyżowo do liczby jednostek wyszukiwania wymaganych do określonej konfiguracji. Aby uzyskać więcej informacji na temat wpływu dodatkowych replik na przetwarzanie zapytań, zobacz Porządkowanie wyników.
Jak uaktualnić pojemność
Niektóre funkcje usługi Azure AI Search są dostępne tylko dla nowych usług. Jedną z takich możliwości jest większa pojemność magazynu, która ma zastosowanie do usług utworzonych po kwietniu 2024 r. Jeśli jednak usługa została utworzona przed kwietniem 2024 r., możesz uzyskać większą pojemność bez ponownego tworzenia usługi, wykonując jednorazowe uaktualnienie. Aby uzyskać więcej informacji, zobacz Uaktualnianie usługi wyszukiwania.
Jak zmienić pojemność
Aby zwiększyć lub zmniejszyć pojemność usługi, dostępne są dwie opcje:
Dodawanie lub usuwanie partycji i replik
Zaloguj się do witryny Azure Portal i wybierz usługę wyszukiwania.
W okienku po lewej stronie wybierz Ustawienia>Skala.
Poniższy zrzut ekranu przedstawia aprowizowaną usługę Standard z jedną repliką i partycją. Formuła u dołu wskazuje liczbę używanych jednostek wyszukiwania (1). Jeśli cena jednostkowa wynosiła 100 USD (a nie rzeczywista cena), miesięczny koszt działania tej usługi wyniesie średnio 100 USD.
Użyj suwaka, aby zwiększyć lub zmniejszyć liczbę partycji, a następnie wybierz pozycję Zapisz.
W tym przykładzie dodano drugą replikę i partycję. Zwróć uwagę na liczbę jednostek wyszukiwania, teraz wynosi cztery, ponieważ formuła rozliczeniowa to liczba replik pomnożona przez liczbę partycji (2 x 2). Podwojenie pojemności ponad dwukrotnie zwiększa koszt działania usługi. Jeśli koszt jednostki wyszukiwania wynosił 100 USD, nowy miesięczny rachunek będzie teraz wynosić 400 USD.
W przypadku bieżących kosztów jednostkowych każdej warstwy odwiedź stronę cennika.
Sprawdź powiadomienia, aby potwierdzić, że operacja została uruchomiona.
Wykonanie tej operacji może potrwać kilka godzin. Występuje w tle, więc usługa wyszukiwania pozostaje w pełni operacyjna i dostępna dla operacji odczytu i zapisu.
Nie można anulować operacji ani monitorować jej postępu. Jednak następujący komunikat jest wyświetlany, gdy zmiany są w toku:
Zmienianie warstwy cenowej
Uwaga
Portal Azure oraz usługi — aktualizacja (interfejs API REST) umożliwiają wprowadzanie zmian między warstwami Podstawowymi a Standardowymi (S1, S2 i S3). Możesz uaktualnić lub obniżyć warstwy, jeśli bieżąca konfiguracja usługi nie przekracza limitów warstwy docelowej. Region nie może również mieć ograniczeń pojemności w warstwie docelowej.
Twoja warstwa cenowa określa maksymalną pojemność usługi wyszukiwania. Jeśli potrzebujesz większej lub mniejszej pojemności, możesz przełączyć się na inną warstwę cenową, która odpowiada potrzebom magazynu.
Oprócz pojemności warstwy cenowe określają limity indeksów, indeksatorów i innych obiektów wyszukiwania. Przed kontynuowaniem porównaj limity usługi z bieżącą warstwą i żądaną warstwą. Ogólnie rzecz biorąc, przełączenie do wyższej warstwy zwiększa limit magazynu i limit wektora, zwiększa przepływność żądań i zmniejsza opóźnienie, podczas gdy przełączanie do niższej warstwy ma odwrotny efekt.
Przejście do wyższej warstwy cenowej zwiększa również koszt uruchamiania usługi wyszukiwania. Aby uzyskać więcej informacji, zobacz stronę z cennikiem.
Aby zmienić warstwę cenową:
Zaloguj się do witryny Azure Portal i wybierz usługę wyszukiwania.
W okienku po lewej stronie wybierz Ustawienia>Skala.
Na bieżącym poziomie wybierz Zmień poziom cenowy.
Na stronie Wybieranie warstwy cenowej wybierz inną warstwę z listy.
Można przełączać się między warstwami Podstawowa, S1, S2 i S3, ale nie można przełączyć się na lub z warstwy Bezpłatna, S3HD, L1 lub L2. Te poziomy nie są wybierane i są wyświetlane jako wygaszone.
Aby rozpocząć operację skalowania, wybierz pozycję Zapisz.
Wykonanie tej operacji może potrwać kilka godzin. Występuje w tle, więc usługa wyszukiwania pozostaje w pełni operacyjna i dostępna dla operacji odczytu i zapisu.
Nie można anulować operacji ani monitorować jej postępu. Jednak następujący komunikat jest wyświetlany, gdy zmiany są w toku:
Sposób obsługi żądań skalowania
Po otrzymaniu żądania skalowania usługa wyszukiwania:
- Sprawdza, czy żądanie jest prawidłowe.
- Rozpoczyna tworzenie kopii zapasowych danych i informacji systemowych.
- Sprawdza, czy usługa jest już w stanie udostępniania (aktualnie dodaje lub usuwa repliki czy partycje).
- Rozpoczyna konfigurowanie.
Skalowanie usługi może potrwać nawet 15 minut lub nieco ponad godzinę, w zależności od rozmiaru usługi i zakresu żądania. Tworzenie kopii zapasowej może potrwać kilka minut, w zależności od ilości danych i liczby partycji i replik.
Powyższe kroki nie są całkowicie kolejne. Na przykład, system rozpoczyna konfigurowanie, gdy można to bezpiecznie zrobić, co może się zdarzyć, gdy kopia zapasowa się kończy.
Błędy podczas skalowania
W poniższej tabeli wymieniono przyczyny i rozwiązania błędów, które mogą wystąpić podczas operacji skalowania.
| Komunikat o błędzie | Przyczyna | Rozwiązanie |
|---|---|---|
| "Operacje aktualizacji usługi nie są obecnie dozwolone, ponieważ przetwarzamy poprzednie żądanie". | Trwa inna operacja skalowania. | Sprawdź stronę Przegląd w witrynie Azure Portal lub użyj interfejsu API REST usługi Search Management, programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure , aby uzyskać stan usługi wyszukiwania. Jeśli stan to "Aprowizowanie", poczekaj, aż stanie się "Powodzenie" lub "Niepowodzenie", zanim spróbujesz ponownie. 1, 2 |
| "Nie można skalować nazwy usługi wyszukiwania. Błąd: Liczba obiektówActualCount przekracza dozwolony limit: MaximumCount". | Bieżąca konfiguracja usługi przekracza limity docelowej warstwy cenowej. | Sprawdź, czy użycie magazynu, użycie wektorów, indeksy, indeksatory i inne obiekty mieszczą się w granicach usługi niższej warstwy. Na przykład warstwa Podstawowa obsługuje maksymalnie 15 indeksów, więc nie można przełączyć się z warstwy S1 na Podstawowa, jeśli masz 16 indeksów. Dostosuj zasoby przed ponowną próbą. |
1 Nie ma stanu kopii zapasowych, które są operacjami wewnętrznymi, które są mało prawdopodobne, aby zakłócić ćwiczenie skalowania.
2 Jeśli usługa wyszukiwania wydaje się być zatrzymana w stanie aprowizacji, sprawdź, czy indeksy oddzielone są bezużyteczne, z zerowymi woluminami zapytań i bez aktualizacji indeksu. Indeks bezużyteczny może blokować zmiany pojemności usługi. W szczególności poszukaj indeksów zaszyfrowanych za pomocą klucza cmK , których klucze nie są już prawidłowe. Usuń indeks lub przywróć klucze, aby przywrócić indeks do trybu online i odblokować operację skalowania.
Kombinacje partycji i replik
Poniższy wykres dotyczy poziomu Standardowego i wyższych. Przedstawia wszystkie możliwe kombinacje partycji i replik, które podlegają maksymalnej liczbie 36 jednostek wyszukiwania na usługę.
| 1 partycja | 2 partycje | 3 partycje | 4 partycje | 6 partycji | 12 partycji | |
|---|---|---|---|---|---|---|
| 1 replika | 1 SU | 2 SU | 3 SU | 4 SU | 6 SU | 12 SU |
| 2 repliki | 2 SU | 4 SU | 6 SU | 8 SU | 12 SU | 24 SU |
| 3 repliki | 3 SU | 6 SU | 9 SU | 12 SU | 18 SU | 36 SU |
| 4 repliki | 4 SU | 8 SU | 12 SU | 16 SU | 24 SU | Nie dotyczy |
| 5 replik | 5 SU | 10 SU | 15 jednostek | 20 SU | 30 SU | Nie dotyczy |
| 6 kopii | 6 SU | 12 SU | 18 SU | 24 SU | 36 SU | Nie dotyczy |
| 12 replik | 12 SU | 24 SU | 36 SU | Nie dotyczy | Nie dotyczy | Nie dotyczy |
Podstawowe usługi wyszukiwania mają niższe liczby jednostek wyszukiwania.
W usługach wyszukiwania utworzonych przed 3 kwietnia 2024 r. Podstawowe usługi mogą mieć dokładnie jedną partycję i maksymalnie trzy repliki, co daje maksymalny limit trzech jednostek usługowych. Jedynym regulowanym zasobem są repliki. Możesz jednak zwiększyć liczbę partycji, uaktualniając usługę.
W przypadku usług wyszukiwania utworzonych po 3 kwietnia 2024 r. w obsługiwanych regionach usługi podstawowe mogą mieć maksymalnie trzy partycje i trzy repliki. Maksymalny limit SU wynosi dziewięć, aby zapewnić pełen zestaw partycji i replik.
W przypadku usług wyszukiwania w dowolnej warstwie rozliczanej, niezależnie od daty utworzenia, potrzebujesz co najmniej dwóch replik, aby zapewnić wysoką dostępność zapytań.
Aby uzyskać informacje o stawkach rozliczeniowych za warstwę i walutę, zobacz stronę cennika usługi Azure AI Search.
Szacowanie pojemności przy użyciu płatnego poziomu
Rozmiar indeksów, które mają być utworzone, określa potrzeby magazynu. Nie ma solidnych heurystyki ani uogólnień, które pomagają oszacować. Jedynym sposobem określenia rozmiaru indeksu jest utworzenie jednego. Jego rozmiar jest oparty na tokenizacji i osadzaniu oraz czy włączasz sugestory, filtrowanie i sortowanie, czy też można korzystać z kompresji wektorów.
Zalecamy szacowanie warstwy rozliczanej, Podstawowa lub wyższa. Warstwa Bezpłatna działa na zasobach fizycznych współużytkowanych przez wielu klientów i podlega czynnikom poza Twoją kontrolą. Tylko dedykowane zasoby rozliczanej usługi wyszukiwania mogą pomieścić większe czasy próbkowania i przetwarzania w celu uzyskania bardziej realistycznych szacunków ilości indeksu, rozmiaru i woluminów zapytań podczas opracowywania.
Przejrzyj limity usług w każdej warstwie , aby określić, czy niższe warstwy mogą obsługiwać wymaganą liczbę indeksów. Zastanów się, czy potrzebujesz wielu kopii indeksu do aktywnego programowania, testowania i produkcji.
Usługa wyszukiwania podlega limitom obiektów (maksymalna liczba indeksów, indeksatorów, zestawów umiejętności itp.) i limitach magazynu. Niezależnie od tego, który limit zostanie osiągnięty jako pierwszy, jest obowiązującą granicą.
Utwórz usługę na płatnej warstwie. Warstwy są zoptymalizowane pod kątem specyficznych obciążeń. Na przykład warstwa zoptymalizowana dla magazynowania ma limit 10 indeksów, ponieważ jest przeznaczona do wspierania niewielkiej liczby dużych indeksów.
Zacznij od niskiego poziomu w warstwie Podstawowa lub S1, jeśli nie masz pewności co do przewidywanego obciążenia.
Rozpocznij od wysokiego poziomu, przy S2 lub nawet S3, jeśli testowanie obejmuje indeksowanie na dużą skalę i obciążenia zapytań.
Zacznij od opcji zoptymalizowanej do przechowywania na poziomie L1 lub L2, jeśli indeksujesz dużą ilość danych i obciążenie zapytań jest stosunkowo niskie, jak w przypadku wewnętrznej aplikacji biznesowej.
Skompiluj początkowy indeks , aby określić, jak dane źródłowe przekładają się na indeks. Jest to jedyny sposób oszacowania rozmiaru indeksu. Atrybuty definicji pól mają wpływ na wymagania dotyczące magazynu fizycznego:
W przypadku wyszukiwania słów kluczowych oznaczanie pól jako możliwych do filtrowania i sortowania zwiększa rozmiar indeksu.
W przypadku wyszukiwania wektorowego można ustawić parametry w celu zmniejszenia rozmiaru wektora.
Monitorowanie magazynu, limitów usług, woluminu zapytań i opóźnienia w witrynie Azure Portal. W portalu Azure są wyświetlane zapytania na sekundę, ograniczone zapytania i opóźnienie wyszukiwania. Wszystkie te wartości mogą pomóc w podjęciu decyzji, czy wybrano odpowiedni poziom.
Dodaj repliki pod kątem wysokiej dostępności lub aby ograniczyć niską wydajność zapytań.
Nie ma żadnych wytycznych dotyczących liczby replik potrzebnych do obsługi obciążeń zapytań. Wydajność zapytań zależy od złożoności zapytania i konkurencyjnych obciążeń. Chociaż dodawanie replik wyraźnie skutkuje lepszą wydajnością, wynik nie jest ściśle liniowy: dodanie trzech replik nie gwarantuje potrójnej przepływności. Aby uzyskać wskazówki dotyczące szacowania QPS dla rozwiązania, zobacz Analizowanie zapytań dotyczących wydajnościi monitorowania.
W przypadku odwróconego indeksu rozmiar i złożoność są określane przez zawartość, a niekoniecznie przez ilość danych, które są do niego wprowadzane. Duże źródło danych o wysokiej nadmiarowości może spowodować mniejszy indeks niż mniejszy zestaw danych zawierający wysoce zmienną zawartość. Dlatego rzadko można wywnioskować rozmiar indeksu na podstawie rozmiaru oryginalnego zestawu danych.
Wymagania dotyczące magazynu można zawyżać, jeśli uwzględnisz dane, które nigdy nie zostaną przeszukane. Najlepiej, aby dokumenty zawierały tylko dane potrzebne do wyszukiwania.
Zagadnienia dotyczące umowy dotyczącej poziomu usług
Funkcje w warstwie Bezpłatna i wersja zapoznawcza nie są objęte umowami dotyczącymi poziomu usług (SLA). W przypadku wszystkich rozliczanych poziomów, umowy SLA wchodzą w życie po zapewnieniu wystarczającej redundancji dla usługi.
Co najmniej dwie repliki spełniają SLA dotyczące zapytań (odczyt).
Trzy lub więcej replik spełnia wymagania SLA dotyczące zapytań i indeksowania (odczyt-zapis).
Liczba partycji nie wpływa na umowy o poziomie usług (SLA).