Azure AI Search-prestatiebenchmarks

Belangrijk

Deze benchmarks garanderen op geen enkele manier een bepaald prestatieniveau van uw service, maar ze kunnen fungeren als een nuttige handleiding voor het schatten van mogelijke prestaties onder vergelijkbare configuraties.

De prestaties van Azure AI Search zijn afhankelijk van verschillende factoren , waaronder de grootte van uw zoekservice en de typen query's die u verzendt. Om de grootte van de zoekservice te schatten die nodig is voor uw workload, hebben we verschillende benchmarks uitgevoerd om de prestaties voor verschillende zoekservices en configuraties vast te leggen.

Om een aantal verschillende use cases te behandelen, hebben we benchmarks uitgevoerd voor twee hoofdscenario's:

  • E-commerce zoeken - Met deze benchmark wordt een echt e-commercescenario geëmuleren en is gebaseerd op het Scandinavische e-commercebedrijf CDON.
  • Document zoeken : dit scenario bestaat uit trefwoordzoekopdrachten voor volledige-tekstdocumenten van Semantic Scholar. Hiermee wordt een typische oplossing voor documentzoekopdrachten geëmuleren.

Hoewel deze scenario's verschillende use cases weerspiegelen, is elk scenario verschillend, dus we raden u altijd aan om uw individuele workload te testen. We hebben een oplossing voor prestatietests gepubliceerd met behulp van JMeter , zodat u vergelijkbare tests kunt uitvoeren voor uw eigen service.

Testmethodologie

Om de prestaties van Azure AI Search te benchmarken, hebben we tests uitgevoerd voor twee verschillende scenario's op verschillende lagen en combinaties van replica's/partities.

Voor het maken van deze benchmarks is de volgende methodologie gebruikt:

  1. De test begint bij X query's per seconde (QPS) gedurende 180 seconden. Dit was meestal 5 of 10 QPS.
  2. QPS nam vervolgens toe X en liep gedurende nog eens 180 seconden
  3. Elke 180 seconden nam de test met X QPS toe totdat de gemiddelde latentie hoger was dan 1000 ms of minder dan 99% van de query's.

In de volgende grafiek ziet u een visueel voorbeeld van hoe de querybelasting van de test eruitziet:

Example test

Elk scenario heeft ten minste 10.000 unieke query's gebruikt om te voorkomen dat tests te veel scheef worden geslagen door caching.

Belangrijk

Deze tests omvatten alleen queryworkloads. Als u verwacht een groot aantal indexeringsbewerkingen te hebben, moet u rekening houden met uw schatting en prestatietests. In deze zelfstudie vindt u voorbeeldcode voor het simuleren van indexering.

Definities

  • Maximum aantal QPS - de maximale QPS-getallen zijn gebaseerd op de hoogste QPS die is bereikt in een test waarbij 99% van de query's is voltooid zonder beperking en gemiddelde latentie onder de 1000 ms bleef.

  • Percentage van het maximum aantal QPS- een percentage van het maximum aantal QPS's dat voor een bepaalde test is bereikt. Als een bepaalde test bijvoorbeeld een maximum van 100 QPS heeft bereikt, is 20% van het maximum aantal QPS's 20 QPS.

  • Latentie: de latentie van de server voor een query; deze getallen bevatten geen retourvertraging (RTT). Waarden bevinden zich in milliseconden (ms).

Vrijwaring testen

De code die we hebben gebruikt om deze benchmarks uit te voeren, is beschikbaar in de opslagplaats azure-search-performance-testing . Het is de moeite waard om te vermelden dat we iets lagere QPS-niveaus hebben waargenomen met de oplossing voor het testen van JMeter-prestaties dan in de benchmarks. De verschillen kunnen worden toegeschreven aan verschillen in de stijl van de tests. Dit spreekt voor het belang van uw prestatietests zo veel mogelijk vergelijkbaar te maken met uw productieworkload.

Belangrijk

Deze benchmarks garanderen op geen enkele manier een bepaald prestatieniveau van uw service, maar kunnen u een idee geven van de prestaties die u kunt verwachten op basis van uw scenario.

Als u vragen of zorgen hebt, neem dan contact met ons op azuresearch_contact@microsoft.com.

CDON Logo

Deze benchmark is opgericht in samenwerking met het e-commercebedrijf CDON, de grootste online marketplace van de Scandinavische regio met activiteiten in Zweden, Finland, Noorwegen en Denemarken. Door zijn 1500 verkopers biedt CDON een breed assortiment met meer dan 8 miljoen producten. In 2020 had CDON meer dan 120 miljoen bezoekers en 2 miljoen actieve klanten. In dit artikel vindt u meer informatie over het gebruik van Azure AI Search van CDON.

Om deze tests uit te voeren, hebben we een momentopname van de productiezoekindex van CDON en duizenden unieke query's van hun website gebruikt.

Scenariodetails

  • Aantal documenten: 6.000.000
  • Indexgrootte: 20 GB
  • Indexschema: een brede index met totaal 250 velden, 25 doorzoekbare velden en 200 facetable/filterbare velden
  • Querytypen: zoekquery's in volledige tekst, waaronder facetten, filters, volgorde en scoreprofielen

S1-prestaties

Query's per seconde

In de volgende grafiek ziet u de hoogste querybelasting die een service gedurende langere tijd kan verwerken in termen van query's per seconde (QPS).

Highest maintainable QPS ecommerce s1

Querylatentie

Querylatentie varieert op basis van de belasting van de service en services onder hogere stress hebben een hogere gemiddelde querylatentie. In de volgende tabel ziet u de 25e, 50e, 75e, 90e, 95e en 99e percentielen van querylatentie voor drie verschillende gebruiksniveaus.

Percentage van het maximum aantal QPS's Gemiddelde latentie 25% 75% 90% 95% 99%
20% 104 ms 35 ms 115 ms 177 ms 257 ms 738 ms
50% 140 ms 47 ms 144 ms 241 ms 400 ms 1175 ms
80% 239 ms 77 ms 248 ms 466 ms 763 ms 1752 ms

S2-prestaties

Query's per seconde

In de volgende grafiek ziet u de hoogste querybelasting die een service gedurende langere tijd kan verwerken in termen van query's per seconde (QPS).

Highest maintainable QPS ecommerce s2

Querylatentie

Querylatentie varieert op basis van de belasting van de service en services onder hogere stress hebben een hogere gemiddelde querylatentie. In de volgende tabel ziet u de 25e, 50e, 75e, 90e, 95e en 99e percentielen van querylatentie voor drie verschillende gebruiksniveaus.

Percentage van het maximum aantal QPS's Gemiddelde latentie 25% 75% 90% 95% 99%
20% 56 ms 21 ms 68 ms 106 ms 132 ms 210 ms
50% 71 ms 26 ms 83 ms 132 ms 177 ms 329 ms
80% 140 ms 47 ms 153 ms 293 ms 452 ms 924 ms

S3-prestaties

Query's per seconde

In de volgende grafiek ziet u de hoogste querybelasting die een service gedurende langere tijd kan verwerken in termen van query's per seconde (QPS).

Highest maintainable QPS ecommerce s3

In dit geval zien we dat het toevoegen van een tweede partitie het maximumaantal QPS aanzienlijk verhoogt, maar het toevoegen van een derde partitie vermindert marginale rendementen. De kleinere verbetering is waarschijnlijk omdat alle gegevens al met slechts twee partities in het actieve S3-geheugen worden opgehaald.

Querylatentie

Querylatentie varieert op basis van de belasting van de service en services onder hogere stress hebben een hogere gemiddelde querylatentie. In de volgende tabel ziet u de 25e, 50e, 75e, 90e, 95e en 99e percentielen van querylatentie voor drie verschillende gebruiksniveaus.

Percentage van het maximum aantal QPS's Gemiddelde latentie 25% 75% 90% 95% 99%
20% 50 ms 20 ms 64 ms 83 ms 98 ms 160 ms
50% 62 ms 24 ms 80 ms 107 ms 130 ms 253 ms
80% 115 ms 38 ms 121 ms 218 ms 352 ms 828 ms

Scenariodetails

  • Aantal documenten: 7,5 miljoen
  • Indexgrootte: 22 GB
  • Indexschema: 23 velden; 8 doorzoekbaar, 10 filterbaar/facetabel
  • Querytypen: trefwoordzoekopdrachten met facetten en treffermarkeringen

S1-prestaties

Query's per seconde

In de volgende grafiek ziet u de hoogste querybelasting die een service gedurende langere tijd kan verwerken in termen van query's per seconde (QPS).

Highest maintainable QPS doc search s1

Querylatentie

Querylatentie varieert op basis van de belasting van de service en services onder hogere stress hebben een hogere gemiddelde querylatentie. In de volgende tabel ziet u de 25e, 50e, 75e, 90e, 95e en 99e percentielen van querylatentie voor drie verschillende gebruiksniveaus.

Percentage van het maximum aantal QPS's Gemiddelde latentie 25% 75% 90% 95% 99%
20% 67 ms 44 ms 77 ms 103 ms 126 ms 216 ms
50% 93 ms 59 ms 110 ms 150 ms 184 ms 304 ms
80% 150 ms 96 ms 184 ms 248 ms 297 ms 424 ms

S2-prestaties

Query's per seconde

In de volgende grafiek ziet u de hoogste querybelasting die een service gedurende langere tijd kan verwerken in termen van query's per seconde (QPS).

Highest maintainable QPS doc search s2

Querylatentie

Querylatentie varieert op basis van de belasting van de service en services onder hogere stress hebben een hogere gemiddelde querylatentie. In de volgende tabel ziet u de 25e, 50e, 75e, 90e, 95e en 99e percentielen van querylatentie voor drie verschillende gebruiksniveaus.

Percentage van het maximum aantal QPS's Gemiddelde latentie 25% 75% 90% 95% 99%
20% 45 ms 31 ms 55 ms 73 ms 84 ms 109 ms
50% 63 ms 39 ms 81 ms 106 ms 123 ms 163 ms
80% 115 ms 73 ms 145 ms 191 ms 224 ms 291 ms

S3-prestaties

Query's per seconde

In de volgende grafiek ziet u de hoogste querybelasting die een service gedurende langere tijd kan verwerken in termen van query's per seconde (QPS).

Highest maintainable QPS doc search s3

Querylatentie

Querylatentie varieert op basis van de belasting van de service en services onder hogere stress hebben een hogere gemiddelde querylatentie. In de volgende tabel ziet u de 25e, 50e, 75e, 90e, 95e en 99e percentielen van querylatentie voor drie verschillende gebruiksniveaus.

Percentage van het maximum aantal QPS's Gemiddelde latentie 25% 75% 90% 95% 99%
20% 43 ms 29 ms 53 ms 74 ms 86 ms 111 ms
50% 65 ms 37 ms 85 ms 111 ms 128 ms 164 ms
80% 126 ms 83 ms 162 ms 205 ms 233 ms 281 ms

Opgedane kennis

Via deze benchmarks kunt u een idee krijgen van de prestaties van Azure AI Search-aanbiedingen. U kunt ook het verschil tussen services op verschillende lagen zien.

Enkele belangrijke manieren om van deze benchmarks te profiteren, zijn:

  • Een S2 kan doorgaans ten minste vier keer het queryvolume verwerken als een S1
  • Een S2 heeft doorgaans een lagere latentie dan een S1 op vergelijkbare queryvolumes
  • Terwijl u replica's toevoegt, kan de QPS een service doorgaans lineair schalen (bijvoorbeeld als één replica 10 QPS kan verwerken, kunnen vijf replica's meestal 50 QPS verwerken)
  • Hoe hoger de belasting van de service, hoe hoger de gemiddelde latentie

U kunt ook zien dat de prestaties drastisch kunnen variëren tussen scenario's. Als u de verwachte prestaties niet krijgt, bekijkt u de tips voor betere prestaties.

Volgende stappen

Nu u de prestatiebenchmarks hebt gezien, kunt u meer informatie vinden over het analyseren van de prestaties en de belangrijkste factoren van Azure AI Search die van invloed zijn op de prestaties.