Övervaka frågebegäranden i Azure AI Search

Den här artikeln beskriver hur du mäter frågeprestanda och volymer med hjälp av inbyggda mått och resursloggning. Den förklarar också hur du hämtar frågesträngarna som angetts av programanvändare.

Azure-portalen visar grundläggande mått om frågesvarstid, frågebelastning (QPS) och begränsning. Historiska data som matas in i dessa mått kan nås i portalen i 30 dagar. För längre kvarhållning eller för att rapportera driftdata och frågesträngar måste du lägga till en diagnostikinställning som anger ett lagringsalternativ för att bevara loggade åtgärder och mått. Vi rekommenderar Log Analytics-arbetsytan som mål för loggade åtgärder. Kusto-frågor och datautforskning riktar sig mot en Log Analytics-arbetsyta.

Villkor som maximerar datamätningens integritet är:

  • Använd en fakturerbar tjänst (en tjänst som skapats på nivån Basic eller Standard). Den kostnadsfria tjänsten delas av flera prenumeranter, vilket medför en viss volatilitet när belastningen skiftar.

  • Använd om möjligt en enskild replik och partition för att skapa en innesluten och isolerad miljö. Om du använder flera repliker är frågemått i genomsnitt över flera noder, vilket kan sänka resultatprecisionen. På samma sätt innebär flera partitioner att data delas upp, med potentialen att vissa partitioner kan ha olika data om indexering också pågår. När du justerar frågeprestanda ger en enskild nod och partition en stabilare miljö för testning.

Dricks

Med ytterligare kod på klientsidan och Application Insights kan du också samla in klickdata för att få djupare insikt i vad som lockar dina programanvändares intresse. Mer information finns i Sök trafikanalys.

Frågevolym (QPS)

Volymen mäts som sökfrågor per sekund (QPS), ett inbyggt mått som kan rapporteras som ett genomsnitt, antal, lägsta eller högsta värden för frågor som körs inom en minut. Intervall på en minut (TimeGrain = "PT1M") för mått är fasta i systemet.

Mer information om måttet SearchQueriesPerSecond finns i Sökfrågor per sekund.

Frågeprestanda

Frågeprestanda i hela tjänsten mäts som svarstid för sökning och begränsade frågor.

Svarstid för sökning

Svarstid för sökning anger hur lång tid en fråga tar att slutföra. Mer information om måttet SearchLatency finns i Söksvarstid.

Tänk på följande exempel på mått för söksvarstid : 86 frågor har samplats, med en genomsnittlig varaktighet på 23,26 millisekunder. Minst 0 anger att vissa frågor har tagits bort. Den längsta frågan som kördes tog 1 000 millisekunder att slutföra. Den totala körningstiden var 2 sekunder.

Svarstidsaggregeringar

Begränsade frågor

Begränsade frågor refererar till frågor som tas bort i stället för bearbetade. I de flesta fall är begränsning en normal del av körningen av tjänsten. Det är inte nödvändigtvis en indikation på att det är något fel. Mer information om måttet ThrottledSearchQueriesPercentage finns i Procentandel begränsade sökfrågor.

I följande skärmbild är det första talet antalet (eller antalet mått som skickas till loggen). Andra aggregeringar, som visas överst eller vid hovring över måttet, inkluderar medelvärde, max och total. I det här exemplet togs inga begäranden bort.

Begränsade sammansättningar

Utforska mått i portalen

För en snabb titt på de aktuella numren visar fliken Övervakning på sidan Tjänstöversikt tre mått (söksvarstid, sökfrågor per sekund (per sökenhet), Procent för begränsade sökfrågor) över fasta intervall mätt i timmar, dagar och veckor, med möjlighet att ändra aggregeringstypen.

För djupare utforskning öppnar du Metrics Explorer från övervakningsmenyn så att du kan lagra, zooma in och visualisera data för att utforska trender eller avvikelser. Läs mer om Metrics Explorer genom att slutföra den här självstudien om hur du skapar ett måttdiagram.

  1. Under avsnittet Övervakning väljer du Mått för att öppna måttutforskaren med omfånget inställt på söktjänsten.

  2. Under Mått väljer du en i listrutan och granskar listan över tillgängliga sammansättningar för en önskad typ. Aggregeringen definierar hur de insamlade värdena samplas under varje tidsintervall.

    Metrics Explorer för QPS-mått

  3. I det övre högra hörnet anger du tidsintervallet.

  4. Välj en visualisering. Standardvärdet är ett linjediagram.

  5. Lägg till fler aggregeringar genom att välja Lägg till mått och välja olika sammansättningar.

  6. Zooma in i ett intresseområde i linjediagrammet. Placera muspekaren i början av området, välj och håll ned den vänstra musknappen, dra till andra sidan av området och släpp knappen. Diagrammet zoomar in på det tidsintervallet.

Returnera frågesträngar som angetts av användare

När du aktiverar resursloggning samlar systemet in frågebegäranden i tabellen AzureDiagnostics . Som en förutsättning måste du redan ha angett ett mål för loggade åtgärder, antingen en log analytics-arbetsyta eller ett annat lagringsalternativ.

  1. Under avsnittet Övervakning väljer du Loggar för att öppna ett tomt frågefönster i Log Analytics.

  2. Kör följande uttryck för att söka efter Query.Search åtgärder och returnera en tabellresultatuppsättning som består av åtgärdsnamnet, frågesträngen, det index som efterfrågas och antalet dokument som hittas. De två sista uttrycken exkluderar frågesträngar som består av en tom eller ospecificerad sökning över ett exempelindex, vilket minskar bruset i dina resultat.

       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"
    
  3. Du kan också ange ett kolumnfilter på Query_s för att söka efter en specifik syntax eller sträng. Du kan till exempel filtrera över är lika med ?api-version=2024-07-01&search=*&%24filter=HotelName.

    Loggade frågesträngar

Den här tekniken fungerar för ad hoc-undersökning, men genom att skapa en rapport kan du konsolidera och presentera frågesträngarna i en layout som är mer gynnsam för analys.

Identifiera långvariga frågor

Lägg till varaktighetskolumnen för att hämta talen för alla frågor, inte bara de som hämtas som ett mått. När du sorterar dessa data visas vilka frågor som tar längst tid att slutföra.

  1. Under avsnittet Övervakning väljer du Loggar för att fråga efter logginformation.

  2. Kör följande grundläggande fråga för att returnera frågor, sorterade efter varaktighet i millisekunder. De frågor som körs längst upp.

    AzureDiagnostics
    | project OperationName, resultSignature_d, DurationMs, Query_s, Documents_d, IndexName_s
    | where OperationName == "Query.Search"
    | sort by DurationMs
    

    Sortera frågor efter varaktighet

Skapa en måttavisering

En måttavisering upprättar ett tröskelvärde för att skicka ett meddelande eller utlösa en korrigerande åtgärd som du definierar i förväg. Du kan skapa aviseringar som rör frågekörning, men du kan också skapa dem för resurshälsa, ändringar i söktjänstens konfiguration, färdighetskörning och dokumentbearbetning (indexering).

Alla tröskelvärden är användardefinierade, så du bör ha en uppfattning om vilken aktivitetsnivå som ska utlösa aviseringen.

För frågeövervakning är det vanligt att skapa en måttavisering för söksvarstid och begränsade frågor. Om du vet när frågor tas bort kan du söka efter åtgärder som minskar belastningen eller ökar kapaciteten. Om begränsade frågor till exempel ökar under indexeringen kan du skjuta upp det tills frågeaktiviteten avtar.

Om du push-överför gränserna för en viss konfiguration av replikpartitioner är det också bra att konfigurera aviseringar för frågevolymtrösklar (QPS).

  1. Under Övervakning väljer du Aviseringar och sedan Skapa aviseringsregel.

  2. Under Villkor väljer du Lägg till.

  3. Konfigurera signallogik. För signaltyp väljer du mått och väljer sedan signalen.

  4. När du har valt signalen kan du använda ett diagram för att visualisera historiska data för ett välgrundat beslut om hur du ska gå vidare med att konfigurera villkor.

  5. Rulla sedan ned till Aviseringslogik. För proof-of-concept kan du ange ett artificiellt lågt värde i testsyfte.

  6. Ange eller skapa sedan en åtgärdsgrupp. Det här är svaret för att anropa när tröskelvärdet uppfylls. Det kan vara ett push-meddelande eller ett automatiserat svar.

  7. Ange senast aviseringsinformation. Namnge och beskriv aviseringen, tilldela ett allvarlighetsgradsvärde och ange om regeln ska skapas i ett aktiverat eller inaktiverat tillstånd.

Om du har angett ett e-postmeddelande får du ett e-postmeddelande från "Microsoft Azure" med ämnesraden "Azure: Aktiverad allvarlighetsgrad: 3 <your rule name>".

Nästa steg

Om du inte redan har gjort det kan du läsa grunderna i övervakning av söktjänsten för att lära dig mer om alla typer av tillsynsfunktioner.