Azure AI Search-Leistungsvergleichstests
Wichtig
Diese Benchmarks gelten für Suchdienste, die vor dem 3. April 2024 für Bereitstellungen erstellt wurden, die auf einer älteren Infrastruktur ausgeführt werden. Die Benchmarks gelten auch nur für Nichtvektorworkloads. Updates stehen für Dienste und Workloads in den neuen Grenzwerten aus.
Leistungsbenchmarks sind nützlich, um die potenzielle Leistung bei ähnlichen Konfigurationen abzuschätzen. Die tatsächliche Leistung hängt von einer Vielzahl von Faktoren ab, beispielsweise der Größe Ihres Suchdiensts und den Abfragetypen, die Sie senden.
Um abzuschätzen, wie groß der Suchdienst für Ihre Workload sein muss, wurden mehrere Vergleichstests zum Dokumenten der Leistung für verschiedene Suchdienste und Konfigurationen durchgeführt.
Um eine Reihe verschiedener Anwendungsfälle abzudecken, haben wir Vergleichstests für zwei Hauptszenarien verwendet:
- E-Commerce-Suche: Dieser Vergleichstests emuliert ein echtes E-Commerce-Szenario und basiert auf dem skandinavischen E-Commerce-Unternehmen CDON.
- Dokumentsuche: Dieses Szenario besteht aus der Schlüsselwortsuche über Volltextdokumente von Semantic Scholar. Es emuliert eine typische Lösung für die Dokumentsuche.
Obwohl diese Szenarien unterschiedliche Anwendungsfälle widerspiegeln, ist jedes Szenario anders, daher empfehlen wir immer, Leistungstests für Ihre individuelle Workload durchzuführen. Wir haben eine Leistungstestlösung mit JMeter veröffentlicht, damit Sie ähnliche Tests für Ihren eigenen Dienst ausführen können.
Testmethodik
Um die Leistung von Azure AI Search zu messen, haben wir Tests für zwei verschiedene Szenarien auf verschiedenen Ebenen und Replikat/Partition-Kombinationen durchgeführt.
Zum Erstellen dieser Vergleichstests wurde die folgende Methodik verwendet:
- Der Test beginnt bei
X
Abfragen pro Sekunde (QPS) für 180 Sekunden. Dies waren in der Regel 5 oder 10 QPS. - QPS wurde dann um
X
erhöht und für weitere 180 Sekunden ausgeführt. - Alle 180 Sekunden wurde der Test um
X
QPS erhöht, bis die durchschnittliche Wartezeit über 1.000 ms bzw. weniger als 99 % erfolgreiche Abfragen anstieg.
Das folgende Diagramm zeigt ein visuelles Beispiel für die Abfragelast des Tests:
In jedem Szenario wurden mindestens 10.000 eindeutige Abfragen verwendet, um eine zu starke Verzerrung der Tests durch Zwischenspeichern zu vermeiden.
Wichtig
Diese Tests umfassen nur Abfrageworkloads. Wenn Sie ein hohes Volumen an Indizierungsvorgängen erwarten, sollten Sie dies bei Ihren Schätzungen und Leistungstests berücksichtigen. Beispielcode zum Simulieren der Indizierung finden Sie in diesem Tutorial.
Definitionen
Maximale QPS: Die angegebenen Zahlen für die maximale Anzahl von QPS basieren auf den höchsten QPS-Werten, die in einem Test erreicht wurden, bei dem 99 % der Abfragen ohne Drosselung erfolgreich abgeschlossen wurden und die durchschnittliche Wartezeit unter 1000 ms blieb.
Prozentanteil der max. QPS – Prozentanteil der maximalen Anzahl von QPS, die für einen bestimmten Test erreicht wurden. Wenn ein bestimmter Test beispielsweise einen Maximalwert von 100 QPS erreicht hat, sind 20 % der maximalen QPS 20 QPS.
Wartezeit: Wartezeit des Servers für eine Abfrage. In diesen ist die Roundtripverzögerung (RTT) nicht enthalten. Die Werte werden in Millisekunden (ms) angegeben.
Haftungsausschluss für Tests
Der Code, den wir zum Ausführen dieser Benchmarks verwendet haben, ist im azure-search-performance-testing-Repository verfügbar. Beachten Sie, dass wir mit der JMeter-Leistungstestlösung etwas niedrigere QPS-Ebenen festgestellt haben als in den Vergleichstests. Die Unterschiede können auf die unterschiedliche Art der Tests zurückzuführen sein. Dies zeigt, wie wichtig es ist, dass Ihre Leistungstests der Produktionsworkload so ähnlich wie möglich sind.
Wichtig
Diese Vergleichstests garantieren in keiner Weise ein bestimmtes Leistungsniveau Ihres Diensts, können Ihnen aber eine Vorstellung von der zu erwartenden Leistung basierend auf Ihrem Szenario geben.
Bei Fragen oder Bedenken können Sie sich gerne unter azuresearch_contact@microsoft.com an uns wenden.
Vergleichstest 1: E-Commerce-Suche
Dieser Vergleichstest wurde in Zusammenarbeit mit dem E-Commerce-Unternehmen CDON erstellt, dem größten Onlinemarktplatz Skandinaviens, mit Niederlassungen in Schweden, Finnland, Norwegen und Dänemark. Durch seine 1.500 Einzelhändler bietet CDON ein breites Spektrum von mehr als 8 Millionen Produkten. Im Jahr 2020 hatte CDON über 120 Millionen Besucher und 2 Millionen aktive Kunden. Weitere Informationen zur Verwendung von Azure AI Search durch CDON finden Sie in diesem Artikel.
Zum Ausführen dieser Tests haben wir eine Momentaufnahme des CDON-Produktionssuchindexes und Tausende eindeutiger Abfragen von ihrer Website verwendet.
Szenariodetails
- Dokumentanzahl: 6.000.000
- Indexgröße: 20 GB
- Indexschema: Ein breiter Index mit insgesamt 250 Feldern, 25 durchsuchbaren und 200 filterbaren/facettierbaren Feldern
- Abfragetypen: Volltextsuchabfragen einschließlich Facetten, Filtern, Sortierung und Bewertungsprofilen
S1-Leistung
Abfragen pro Sekunde
Das folgende Diagramm zeigt die höchste Abfragelast in Bezug auf Abfragen pro Sekunde (QPS), die ein Dienst über einen längeren Zeitraum verarbeiten konnte.
Abfragewartezeit
Die Abfragewartezeit variiert je nach Auslastung des Diensts, und Dienste mit höherer Belastung haben eine höhere durchschnittliche Abfragewartezeit. Die folgende Tabelle zeigt das 25., 50., 75., 90., 95. und 99. Perzentil der Abfragewartezeit für drei verschiedene Nutzungsebenen.
Prozentanteil der max. QPS | Durchschnittliche Latenz | 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-Leistung
Abfragen pro Sekunde
Das folgende Diagramm zeigt die höchste Abfragelast in Bezug auf Abfragen pro Sekunde (QPS), die ein Dienst über einen längeren Zeitraum verarbeiten konnte.
Abfragewartezeit
Die Abfragewartezeit variiert je nach Auslastung des Diensts, und Dienste mit höherer Belastung haben eine höhere durchschnittliche Abfragewartezeit. Die folgende Tabelle zeigt das 25., 50., 75., 90., 95. und 99. Perzentil der Abfragewartezeit für drei verschiedene Nutzungsebenen.
Prozentanteil der max. QPS | Durchschnittliche Latenz | 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-Leistung
Abfragen pro Sekunde
Das folgende Diagramm zeigt die höchste Abfragelast in Bezug auf Abfragen pro Sekunde (QPS), die ein Dienst über einen längeren Zeitraum verarbeiten konnte.
In diesem Fall erkennen wir, dass das Hinzufügen einer zweiten Partition die maximale QPS signifikant erhöht, das Hinzufügen einer dritten Partition aber abnehmende Grenzerträge liefert. Die geringere Verbesserung liegt wahrscheinlich darin begründet, dass bereits mit nur zwei Partitionen alle Daten in den aktiven Speicher von S3 gezogen werden.
Abfragewartezeit
Die Abfragewartezeit variiert je nach Auslastung des Diensts, und Dienste mit höherer Belastung haben eine höhere durchschnittliche Abfragewartezeit. Die folgende Tabelle zeigt das 25., 50., 75., 90., 95. und 99. Perzentil der Abfragewartezeit für drei verschiedene Nutzungsebenen.
Prozentanteil der max. QPS | Durchschnittliche Latenz | 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 |
Vergleichstest 2: Dokumentsuche
Szenariodetails
- Dokumentanzahl: 7,5 Millionen
- Indexgröße: 22 GB
- Indexschema: 23 Felder; 8 durchsuchbar, 10 filterbar/facettierbar
- Abfragetypen: Schlüsselwortsuchen mit Facetten und Treffermarkierung
S1-Leistung
Abfragen pro Sekunde
Das folgende Diagramm zeigt die höchste Abfragelast in Bezug auf Abfragen pro Sekunde (QPS), die ein Dienst über einen längeren Zeitraum verarbeiten konnte.
Abfragewartezeit
Die Abfragewartezeit variiert je nach Auslastung des Diensts, und Dienste mit höherer Belastung haben eine höhere durchschnittliche Abfragewartezeit. Die folgende Tabelle zeigt das 25., 50., 75., 90., 95. und 99. Perzentil der Abfragewartezeit für drei verschiedene Nutzungsebenen.
Prozentanteil der max. QPS | Durchschnittliche Latenz | 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-Leistung
Abfragen pro Sekunde
Das folgende Diagramm zeigt die höchste Abfragelast in Bezug auf Abfragen pro Sekunde (QPS), die ein Dienst über einen längeren Zeitraum verarbeiten konnte.
Abfragewartezeit
Die Abfragewartezeit variiert je nach Auslastung des Diensts, und Dienste mit höherer Belastung haben eine höhere durchschnittliche Abfragewartezeit. Die folgende Tabelle zeigt das 25., 50., 75., 90., 95. und 99. Perzentil der Abfragewartezeit für drei verschiedene Nutzungsebenen.
Prozentanteil der max. QPS | Durchschnittliche Latenz | 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-Leistung
Abfragen pro Sekunde
Das folgende Diagramm zeigt die höchste Abfragelast in Bezug auf Abfragen pro Sekunde (QPS), die ein Dienst über einen längeren Zeitraum verarbeiten konnte.
Abfragewartezeit
Die Abfragewartezeit variiert je nach Auslastung des Diensts, und Dienste mit höherer Belastung haben eine höhere durchschnittliche Abfragewartezeit. Die folgende Tabelle zeigt das 25., 50., 75., 90., 95. und 99. Perzentil der Abfragewartezeit für drei verschiedene Nutzungsebenen.
Prozentanteil der max. QPS | Durchschnittliche Latenz | 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 |
Wesentliche Punkte
Anhand dieser Vergleichstests können Sie sich ein Bild von der Leistung machen, die Azure AI Search bietet. Sie erkennen auch die Unterschiede zwischen Diensten in verschiedenen Tarifen.
Einige wichtige Erkenntnisse, die sich aus diesen Vergleichstests ergeben, sind:
- S2 kann in der Regel mindestens das Vierfache des Abfragevolumens wie S1 verarbeiten.
- S2 weist in der Regel eine geringere Wartezeit auf als S1, bei vergleichbaren Abfragevolumina.
- Wenn Sie Replikate hinzufügen, skalieren die QPS, die ein Dienst verarbeiten kann, in der Regel linear (wenn ein Replikat z. B. 10 QPS verarbeiten kann, können fünf Replikate normalerweise 50 QPS verarbeiten).
- Je höher die Last für den Dienst ist, desto höher ist die durchschnittliche Wartezeit.
Sie erkennen außerdem, dass die Leistung zwischen Szenarien erheblich variieren kann. Wenn die erwartete Leistung nicht erreicht wird, sehen Sie sich die Tipps für eine bessere Leistung an.
Nächste Schritte
Nachdem Sie sich nun die Leistungsvergleichstests angeschaut haben, können Sie mehr darüber erfahren, wie Sie die Leistung von Azure AI Search analysieren und welche Faktoren die Leistung beeinflussen.
- Leistung analysieren
- Leistungstipps
- Case Study: Use Cognitive Search to Support Complex AI Scenarios (Fallstudie: Verwenden von Cognitive Search zur Unterstützung komplexer KI-Szenarien)