Monitorowanie żądań zapytań w usłudze Azure AI Search
W tym artykule wyjaśniono, jak mierzyć wydajność zapytań i wolumin przy użyciu wbudowanych metryk i rejestrowania zasobów. Wyjaśniono również, jak uzyskać ciągi zapytania wprowadzone przez użytkowników aplikacji.
W witrynie Azure Portal przedstawiono podstawowe metryki dotyczące opóźnienia zapytań, ładowania zapytań (QPS) i ograniczania przepustowości. Dane historyczne, do których można uzyskać dostęp do tych metryk w witrynie Azure Portal przez 30 dni. Aby dłużej przechowywać dane operacyjne i ciągi zapytań, należy dodać ustawienie diagnostyczne określające opcję przechowywania dla utrwalania zarejestrowanych operacji i metryk. Zalecamy użycie obszaru roboczego usługi Log Analytics jako miejsca docelowego dla zarejestrowanych operacji. Zapytania Kusto i eksploracja danych są przeznaczone dla obszaru roboczego usługi Log Analytics.
Warunki, które maksymalizują integralność pomiarów danych, obejmują:
Użyj usługi rozliczanej (usługi utworzonej w warstwie Podstawowa lub Standardowa). Bezpłatna usługa jest udostępniana przez wielu subskrybentów, co wprowadza pewną zmienność podczas zmiany obciążenia.
Jeśli to możliwe, użyj pojedynczej repliki i partycji, aby utworzyć zawarte i izolowane środowisko. Jeśli używasz wielu replik, metryki zapytań są uśrednione w wielu węzłach, co może zmniejszyć dokładność wyników. Podobnie wiele partycji oznacza, że dane są podzielone, z możliwością, że niektóre partycje mogą mieć różne dane, jeśli indeksowanie jest również w toku. Podczas dostosowywania wydajności zapytań pojedynczy węzeł i partycja dają bardziej stabilne środowisko do testowania.
Napiwek
Dzięki dodatkowemu kodowi po stronie klienta i usłudze Application Insights możesz również przechwytywać dane przeglądania kliknięć, aby uzyskać lepszy wgląd w to, co przyciąga zainteresowanie użytkowników aplikacji. Aby uzyskać więcej informacji, zobacz Search traffic analytics (Analiza ruchu wyszukiwania).
Wolumin zapytań (QPS)
Wolumin jest mierzony jako zapytania wyszukiwania na sekundę (QPS), wbudowana metryka, która może być zgłaszana jako średnia, liczba, minimalna lub maksymalna wartość zapytań wykonywanych w ciągu jednej minuty. Interwały jednominutowe (TimeGrain = "PT1M") dla metryk są stałe w systemie.
Aby dowiedzieć się więcej o metryce SearchQueriesPerSecond, zobacz Wyszukiwanie zapytań na sekundę.
Wydajność zapytań
Wydajność zapytań dla całej usługi jest mierzona jako opóźnienie wyszukiwania i ograniczone zapytania.
Opóźnienie wyszukiwania
Opóźnienie wyszukiwania wskazuje, jak długo trwa ukończenie zapytania. Aby dowiedzieć się więcej na temat metryki SearchLatency, zobacz Opóźnienie wyszukiwania.
Rozważmy następujący przykład metryk opóźnienia wyszukiwania: próbkowano 86 zapytań ze średnim czasem trwania wynoszącym 23,26 milisekund. Co najmniej 0 wskazuje, że niektóre zapytania zostały porzucone. Najdłuższe uruchomione zapytanie trwało 1000 milisekund. Całkowity czas wykonywania wynosił 2 sekundy.
Zapytania z ograniczeniami
Zapytania z ograniczeniami odnoszą się do zapytań, które są porzucane zamiast przetwarzane. W większości przypadków ograniczanie przepustowości jest normalną częścią uruchamiania usługi. Niekoniecznie jest to wskazanie, że coś jest nie tak. Aby dowiedzieć się więcej o metryce ThrottledSearchQueriesPercentage, zobacz Procent zapytań wyszukiwania z ograniczeniami.
Na poniższym zrzucie ekranu pierwsza liczba to liczba (lub liczba metryk wysyłanych do dziennika). Inne agregacje, które są wyświetlane u góry lub po umieszczeniu wskaźnika myszy na metryce, obejmują średnią, maksymalną i całkowitą. W tym przykładzie nie usunięto żadnych żądań.
Eksplorowanie metryk w witrynie Azure Portal
Aby szybko zapoznać się z bieżącymi liczbami, karta Monitorowanie na stronie Przegląd usługi zawiera trzy metryki (opóźnienie wyszukiwania, zapytania wyszukiwania na sekundę (na jednostkę wyszukiwania), Wartość procentowa ograniczonych zapytań wyszukiwania) w stałych interwałach mierzonych w godzinach, dniach i tygodniach z opcją zmiany typu agregacji.
Aby dokładniej eksplorować, otwórz eksploratora metryk z menu Monitorowanie , aby umożliwić warstwowanie, powiększanie i wizualizowanie danych w celu eksplorowania trendów lub anomalii. Dowiedz się więcej o Eksploratorze metryk, wykonując czynności z tego samouczka dotyczące tworzenia wykresu metryk.
W sekcji Monitorowanie wybierz pozycję Metryki, aby otworzyć eksploratora metryk z zakresem ustawionym na usługę wyszukiwania.
W obszarze Metryka wybierz jedną z listy rozwijanej i przejrzyj listę dostępnych agregacji dla preferowanego typu. Agregacja definiuje sposób próbkowania zebranych wartości w każdym interwale czasu.
W prawym górnym rogu ustaw interwał czasu.
Wybierz wizualizację. Wartość domyślna to wykres liniowy.
Więcej agregacji warstwy, wybierając pozycję Dodaj metryki i wybierając różne agregacje.
Powiększ obszar zainteresowania wykresu liniowego. Umieść wskaźnik myszy na początku obszaru, zaznacz i przytrzymaj lewy przycisk myszy, przeciągnij na drugą stronę obszaru i zwolnij przycisk. Wykres powiększa ten zakres czasu.
Zwracanie ciągów zapytania wprowadzonych przez użytkowników
Po włączeniu rejestrowania zasobów system przechwytuje żądania zapytań w tabeli AzureDiagnostics . Wstępnie wymagane jest określenie miejsca docelowego dla zarejestrowanych operacji — obszaru roboczego usługi Log Analytics lub innej opcji magazynu.
W sekcji Monitorowanie wybierz pozycję Dzienniki , aby otworzyć puste okno zapytania w usłudze Log Analytics.
Uruchom następujące wyrażenie, aby wykonać operacje wyszukiwania
Query.Search
, zwracając tabelaryczny zestaw wyników składający się z nazwy operacji, ciągu zapytania, zapytań dotyczących indeksu i liczby znalezionych dokumentów. Ostatnie dwie instrukcje wykluczają ciągi zapytania składające się z pustego lub nieokreślonego wyszukiwania w przykładowym indeksie, który zmniejsza szum w wynikach.AzureDiagnostics | project OperationName, Query_s, IndexName_s, Documents_d | where OperationName == "Query.Search" | where Query_s != "?api-version=2024-07-01&search=*" | where IndexName_s != "realestate-us-sample-index"
Opcjonalnie ustaw filtr Kolumna dla Query_s , aby wyszukać określoną składnię lub ciąg. Na przykład można filtrować w obszarze
?api-version=2024-07-01&search=*&%24filter=HotelName
jest równy .
Chociaż ta technika działa na potrzeby badania ad hoc, utworzenie raportu umożliwia konsolidację i przedstawienie ciągów zapytania w układzie bardziej sprzyja analizie.
Identyfikowanie długotrwałych zapytań
Dodaj kolumnę czasu trwania, aby uzyskać liczby dla wszystkich zapytań, a nie tylko tych, które są pobierane jako metryka. Sortowanie tych danych pokazuje, które zapytania zajmują najdłuższe zakończenie.
W sekcji Monitorowanie wybierz pozycję Dzienniki , aby wykonywać zapytania dotyczące informacji dziennika.
Uruchom następujące zapytanie podstawowe, aby zwrócić zapytania posortowane według czasu trwania w milisekundach. Najdłużej działające zapytania znajdują się u góry.
AzureDiagnostics | project OperationName, resultSignature_d, DurationMs, Query_s, Documents_d, IndexName_s | where OperationName == "Query.Search" | sort by DurationMs
Tworzenie alertu dotyczącego metryki
Alert metryki ustanawia próg wysyłania powiadomienia lub wyzwalania akcji naprawczej zdefiniowanej z wyprzedzeniem. Możesz tworzyć alerty związane z wykonywaniem zapytań, ale można je również utworzyć na potrzeby kondycji zasobów, zmian konfiguracji usługi wyszukiwania, wykonywania umiejętności i przetwarzania dokumentów (indeksowania).
Wszystkie progi są definiowane przez użytkownika, dlatego należy mieć pojęcie o tym, jaki poziom działania powinien wyzwolić alert.
W przypadku monitorowania zapytań często tworzy się alert dotyczący metryk dla opóźnień wyszukiwania i zapytań z ograniczeniami. Jeśli wiesz, kiedy zapytania są porzucane, możesz wyszukać środki zaradcze, które zmniejszają obciążenie lub zwiększają pojemność. Na przykład jeśli zapytania z ograniczeniami zwiększają się podczas indeksowania, można je odłożyć do momentu ustąpienia działania zapytania.
Jeśli wypychasz limity określonej konfiguracji partycji repliki, pomocne jest również skonfigurowanie alertów dotyczących progów woluminów zapytań (QPS).
W obszarze Monitorowanie wybierz pozycję Alerty, a następnie wybierz pozycję Utwórz regułę alertu.
W obszarze Warunek wybierz pozycję Dodaj.
Konfigurowanie logiki sygnału. W polu Typ sygnału wybierz metryki , a następnie wybierz sygnał.
Po wybraniu sygnału można użyć wykresu do wizualizacji danych historycznych w celu uzyskania świadomej decyzji dotyczącej sposobu kontynuowania konfigurowania warunków.
Następnie przewiń w dół do pozycji Logika alertu. W celu weryfikacji koncepcji można określić sztucznie niską wartość na potrzeby testowania.
Następnie określ lub utwórz grupę akcji. Jest to odpowiedź, która ma być wywoływana po osiągnięciu progu. Może to być powiadomienie wypychane lub automatyczna odpowiedź.
Na koniec określ szczegóły alertu. Nazwij i opisz alert, przypisz wartość ważności i określ, czy chcesz utworzyć regułę w stanie włączonym, czy wyłączonym.
Jeśli określono powiadomienie e-mail, otrzymasz wiadomość e-mail z "Microsoft Azure" z wierszem tematu "Azure: Aktywowana ważność: 3 <your rule name>
".
Następne kroki
Jeśli jeszcze tego nie zrobiono, zapoznaj się z podstawami monitorowania usługi wyszukiwania, aby dowiedzieć się więcej o pełnym zakresie możliwości nadzoru.