Delen via


Queryaanvragen bewaken in Azure AI Search

In dit artikel wordt uitgelegd hoe u de prestaties en het volume van query's kunt meten met behulp van ingebouwde metrische gegevens en resourcelogboeken. Ook wordt uitgelegd hoe u de queryreeksen kunt ophalen die door toepassingsgebruikers zijn ingevoerd.

De Azure-portal bevat basisgegevens over querylatentie, querybelasting (QPS) en beperking. Historische gegevens die worden ingevoerd in deze metrische gegevens, kunnen gedurende 30 dagen in de portal worden geopend. Voor langere retentie of om te rapporteren over operationele gegevens en queryreeksen, moet u een diagnostische instelling toevoegen waarmee een opslagoptie wordt opgegeven voor het behouden van vastgelegde bewerkingen en metrische gegevens. We raden de Log Analytics-werkruimte aan als bestemming voor vastgelegde bewerkingen. Kusto-query's en gegevensverkenning richten zich op een Log Analytics-werkruimte.

Voorwaarden die de integriteit van de gegevensmeting maximaliseren, zijn onder andere:

  • Gebruik een factureerbare service (een service die is gemaakt in de Basic- of Standard-laag). De gratis service wordt gedeeld door meerdere abonnees, waardoor een bepaalde mate van volatiliteit wordt geïntroduceerd wanneer de belasting verandert.

  • Gebruik indien mogelijk één replica en partitie om een ingesloten en geïsoleerde omgeving te maken. Als u meerdere replica's gebruikt, worden metrische querygegevens gemiddeld berekend op meerdere knooppunten, waardoor de nauwkeurigheid van de resultaten kan worden verlaagd. Op dezelfde manier betekenen meerdere partities dat gegevens worden verdeeld, met het potentieel dat sommige partities verschillende gegevens kunnen hebben als indexering ook wordt uitgevoerd. Wanneer u de queryprestaties afstemt, biedt één knooppunt en partitie een stabielere omgeving voor het testen.

Tip

Met extra code aan de clientzijde en Application Insights kunt u ook clickthrough-gegevens vastleggen om meer inzicht te krijgen in wat de interesse van uw toepassingsgebruikers trekt. Zie Zoekverkeersanalyse voor meer informatie.

Queryvolume (QPS)

Het volume wordt gemeten als zoekquery's per seconde (QPS), een ingebouwde metriek die kan worden gerapporteerd als gemiddelde, aantal, minimum- of maximumwaarden van query's die binnen een venster van één minuut worden uitgevoerd. Intervallen van één minuut (TimeGrain = "PT1M") voor metrische gegevens worden in het systeem opgelost.

Zie Zoekquery's per seconde voor meer informatie over de metrische gegevens SearchQueriesPerSecond.

Queryprestaties

Servicebrede queryprestaties worden gemeten als zoeklatentie en beperkte query's.

Zoeklatentie

De zoeklatentie geeft aan hoe lang het duurt voordat een query is voltooid. Zie Zoeklatentie voor meer informatie over de metrische waarde SearchLatency.

Bekijk het volgende voorbeeld van metrische gegevens over de zoeklatentie : 86 query's zijn gesampleerd, met een gemiddelde duur van 23,26 milliseconden. Minimaal 0 geeft aan dat sommige query's zijn verwijderd. De langst lopende query duurde 1000 milliseconden om te voltooien. De totale uitvoeringstijd was 2 seconden.

Latentieaggregaties

Beperkte query's

Beperkte query's verwijzen naar query's die worden verwijderd in plaats van verwerkt. In de meeste gevallen is beperking een normaal onderdeel van het uitvoeren van de service. Het is niet noodzakelijkerwijs een indicatie dat er iets mis is. Voor meer informatie over de metrische waarde ThrottledSearchQueriesPercentage raadpleegt u het percentage van de beperkte zoekquery's.

In de volgende schermopname is het eerste getal het aantal (of het aantal metrische gegevens dat naar het logboek wordt verzonden). Andere aggregaties, die bovenaan worden weergegeven of wanneer u de muisaanwijzer boven de metrische waarde plaatst, omvatten gemiddelde, maximum en totaal. In dit voorbeeld zijn er geen aanvragen verwijderd.

Vertraagde aggregaties

Metrische gegevens verkennen in de portal

Voor een kort overzicht van de huidige getallen ziet u op het tabblad Bewaking op de pagina Overzicht van de service drie metrische gegevens (zoeklatentie, zoekquery's per seconde (per zoekeenheid), percentage beperkte zoekquery's) met vaste intervallen die worden gemeten in uren, dagen en weken, met de optie om het aggregatietype te wijzigen.

Voor een diepere verkenning opent u metrics Explorer vanuit het menu Bewaking , zodat u gegevens kunt lagen, inzoomen en visualiseren om trends of afwijkingen te verkennen. Meer informatie over Metrics Explorer vindt u in deze zelfstudie over het maken van een grafiek met metrische gegevens.

  1. Selecteer in de sectie Bewaking metrische gegevens om de Metrics Explorer te openen met het bereik dat is ingesteld op uw zoekservice.

  2. Kies onder Metrisch een aggregatie in de vervolgkeuzelijst en bekijk de lijst met beschikbare aggregaties voor een voorkeurstype. De aggregatie definieert hoe de verzamelde waarden gedurende elk tijdsinterval worden bemonsterd.

    Metrics Explorer voor metrische QPS-gegevens

  3. Stel in de rechterbovenhoek het tijdsinterval in.

  4. Kies een visualisatie. De standaardwaarde is een lijndiagram.

  5. Voeg meer aggregaties toe door metrische gegevens toevoegen te kiezen en verschillende aggregaties te selecteren.

  6. Zoom in op een interessegebied in het lijndiagram. Plaats de muisaanwijzer aan het begin van het gebied, selecteer en houd de linkermuisknop ingedrukt, sleep naar de andere kant van het gebied en laat de knop los. De grafiek zoomt in op dat tijdsbereik.

Queryreeksen retourneren die zijn ingevoerd door gebruikers

Wanneer u resourcelogboekregistratie inschakelt, legt het systeem queryaanvragen vast in de tabel AzureDiagnostics . Als vereiste moet u al een bestemming hebben opgegeven voor vastgelegde bewerkingen, ofwel een Log Analytics-werkruimte of een andere opslagoptie.

  1. Selecteer in de sectie Bewaking logboeken om een leeg queryvenster in Log Analytics te openen.

  2. Voer de volgende expressie uit om te zoeken Query.Search naar bewerkingen, waarbij een tabellaire resultatenset wordt geretourneerd die bestaat uit de naam van de bewerking, querytekenreeks, de geïndexeerde query en het aantal gevonden documenten. De laatste twee instructies sluiten queryreeksen uit die bestaan uit een lege of niet-opgegeven zoekopdracht, boven een voorbeeldindex, waardoor de ruis in uw resultaten wordt afgesneden.

       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. Stel desgewenst een kolomfilter in op Query_s om te zoeken naar een specifieke syntaxis of tekenreeks. U kunt bijvoorbeeld filteren op is gelijk aan ?api-version=2024-07-01&search=*&%24filter=HotelName.

    Vastgelegde queryreeksen

Hoewel deze techniek geschikt is voor ad-hoconderzoek, kunt u met het bouwen van een rapport de queryreeksen samenvoegen en presenteren in een indeling die handiger is voor analyse.

Langlopende query's identificeren

Voeg de duurkolom toe om de getallen voor alle query's op te halen, niet alleen de query's die als metrische waarde worden opgehaald. Als u deze gegevens sorteert, ziet u welke query's het langst duren.

  1. Selecteer in de sectie Bewaking logboeken om een query uit te voeren op logboekgegevens.

  2. Voer de volgende basisquery uit om query's te retourneren, gesorteerd op duur in milliseconden. De langst lopende query's bevinden zich bovenaan.

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

    Query's sorteren op duur

Een waarschuwing voor metrische gegevens maken

Een metrische waarschuwing bepaalt een drempelwaarde voor het verzenden van een melding of het activeren van een corrigerende actie die u vooraf definieert. U kunt waarschuwingen maken met betrekking tot het uitvoeren van query's, maar u kunt ze ook maken voor resourcestatus, wijzigingen in zoekserviceconfiguratie, uitvoering van vaardigheden en documentverwerking (indexering).

Alle drempelwaarden zijn door de gebruiker gedefinieerd, dus u moet een idee hebben van welk activiteitsniveau de waarschuwing moet activeren.

Voor querybewaking is het gebruikelijk om een metrische waarschuwing te maken voor zoeklatentie en beperkte query's. Als u weet wanneer query's worden verwijderd, kunt u zoeken naar oplossingen die de belasting verminderen of de capaciteit verhogen. Als de vertraagde query's bijvoorbeeld toenemen tijdens het indexeren, kunt u deze uitstellen totdat de queryactiviteit afneemt.

Als u de limieten van een bepaalde configuratie van een replicapartitie pusht, is het instellen van waarschuwingen voor drempelwaarden voor queryvolumes (QPS) ook handig.

  1. Selecteer Onder Bewaking waarschuwingen en selecteer vervolgens Waarschuwingsregel maken.

  2. Selecteer Onder Voorwaarde de optie Toevoegen.

  3. Signaallogica configureren. Kies voor signaaltype metrische gegevens en selecteer vervolgens het signaal.

  4. Nadat u het signaal hebt geselecteerd, kunt u een grafiek gebruiken om historische gegevens te visualiseren voor een weloverwogen beslissing over het instellen van voorwaarden.

  5. Schuif vervolgens omlaag naar waarschuwingslogica. Voor proof-of-concept kunt u een kunstmatig lage waarde opgeven voor testdoeleinden.

  6. Geef vervolgens een actiegroep op of maak deze. Dit is het antwoord dat moet worden aangeroepen wanneer aan de drempelwaarde wordt voldaan. Dit kan een pushmelding of een geautomatiseerd antwoord zijn.

  7. Geef ten slotte waarschuwingsdetails op. Geef een naam op en beschrijf de waarschuwing, wijs een ernstwaarde toe en geef op of de regel moet worden gemaakt in een ingeschakelde of uitgeschakelde status.

Als u een e-mailmelding hebt opgegeven, ontvangt u een e-mailbericht van Microsoft Azure met de onderwerpregel 'Azure: Geactiveerde ernst: 3 <your rule name>'.

Volgende stappen

Als u dit nog niet hebt gedaan, bekijkt u de basisprincipes van de bewaking van zoekservices voor meer informatie over de volledige mogelijkheden voor toezicht.