Condividi tramite


Benchmark delle prestazioni di Azure AI Search

Importante

Questi benchmark si applicano ai servizi di ricerca creati prima del 3 aprile 2024 in distribuzioni eseguite in infrastruttura più datata. I benchmark si applicano anche solo a carichi di lavoro non vettoriali. Gli aggiornamenti sono in sospeso per servizi e carichi di lavoro sui nuovi limiti.

I benchmark delle prestazioni sono utili per eseguire stime di potenziali prestazioni in configurazioni simili. Le prestazioni effettive dipendono da diversi fattori, tra cui le dimensioni del servizio di ricerca e i tipi di query inviati.

Al fine di aiutare gli utenti a eseguire stime delle dimensioni del servizio di ricerca necessario per il carico di lavoro, sono stati eseguiti diversi benchmark per documentare le prestazioni per diversi servizi di ricerca e configurazioni.

Per coprire una gamma di diversi casi d’uso, sono stati eseguiti benchmark per due scenari principali:

  • Ricerca e-commerce: questo benchmark emula uno scenario di e-commerce reale ed è basato sulla società di e-commerce di Nordic CDON.
  • Ricerca documenti: questo scenario è costituito dalla ricerca di parole chiave su documenti a tutto testo di Semantic Scholar. In questo modo viene emulata una tipica soluzione di ricerca di documenti.

Anche se questi scenari illustrano vari casi d’uso, ogni scenario è diverso, quindi è sempre consigliabile testare le prestazioni del singolo carico di lavoro. È stata pubblicata una soluzione di test delle prestazioni che usa JMeter per poter eseguire test simili sul proprio servizio.

Metodologia di test

Per eseguire il benchmark delle prestazioni di Azure AI Search, sono stati eseguiti test per due scenari diversi a diversi livelli e combinazioni di repliche/partizioni.

Per creare questi benchmark, è stata usata la metodologia seguente:

  1. Il test inizia a X query al secondo (QPS) per 180 secondi. Si tratta in genere di 5 o 10 QPS.
  2. QPS è quindi aumentato di X ed è stato eseguito per altri 180 secondi
  3. Ogni 180 secondi, il test è aumentato di X QPS fino a quando la latenza media è diventata superiore a 1000 ms o meno del 99% delle query ha esito positivo.

Il grafico seguente fornisce un esempio visivo dell'aspetto del carico della query del test:

Test di esempio

Ogni scenario usa almeno 10.000 query univoche per evitare che i test siano eccessivamente alterati dalla memorizzazione nella cache.

Importante

Questi test includono solo carichi di lavoro di query. Se si prevede di disporre di un volume elevato di operazioni di indicizzazione, assicurarsi di tenere conto di questo fattore nei test di stima e prestazioni. Il codice di esempio per simulare l'indicizzazione è disponibile in questa esercitazione.

Definizioni

  • QPS massimi: il numero massimo di QPS si basa sul QPS più alto ottenuto in un test in cui il 99% delle query è stato completato correttamente senza limitazione e la latenza media è rimasta inferiore a 1000 ms.

  • Percentuale dei QPS massimi: percentuale del massimo QPS ottenuto per un determinato test. Ad esempio, se un determinato test ha raggiunto un massimo di 100 QPS, il 20% del numero massimo di QPS sarà 20 QPS.

  • Latenza: la latenza del server per una query; questi numeri non includono il ritardo di round trip (RTT). I valori sono in millisecondi (ms).

Clausola di responsabilità di test

Il codice usato per eseguire questi benchmark è disponibile nel repository azure-search-performance-testing. Vale la pena sottolineare che sono stati osservati livelli di QPS leggermente inferiori con la soluzione di test delle prestazioni di JMeter rispetto ai benchmark. Le differenze possono essere attribuite alle differenze nello stile di test. Ciò indica l'importanza di rendere i test delle prestazioni il più simili possibile al carico di lavoro di produzione.

Importante

Questi benchmark non garantiscono in alcun modo un certo livello di prestazioni dal servizio, ma possono offrire un'idea delle prestazioni previste in base allo scenario in uso.

In caso di domande o dubbi, contattare Microsoft all'indirizzo azuresearch_contact@microsoft.com.

CDON Logo

Questo benchmark è stato creato in collaborazione con la società di e-commerce CDON, il più grande marketplace online di Paesi nordici con operazioni in Svezia, Finlandia, Norvegia e Danimarca. Attraverso i suoi 1.500 esercenti, CDON offre un'ampia selezione che include oltre 8 milioni di prodotti. Nel 2020, CDON aveva oltre 120 milioni di visitatori e 2 milioni di clienti attivi. Per altre informazioni sull'uso di Azure AI Search, vedere questo articolo.

Per eseguire questi test, è stato usato uno snapshot dell'indice di ricerca di produzione di CDON e migliaia di query univoche dal suo sito Web.

Dettagli dello scenario

  • Conteggio documenti: 6.000.000
  • Dimensioni indice: 20 GB
  • Schema indice: un indice di grandi dimensioni con un totale di 250 campi, 25 campi ricercabili e 200 campi con tabella facetable/filtrabile
  • Tipi di query: query di ricerca a tutto testo, inclusi facet, filtri, ordinamento e profili di assegnazione di punteggi

Prestazioni S1

Query al secondo

Il grafico seguente mostra il carico di query più elevato che un servizio può gestire per un lungo periodo di tempo in termini di query al secondo (QPS).

Massima quantità gestibile di QPS e-commerce s1

Latenza delle query

La latenza delle query varia in base al carico del servizio e dei servizi sottoposti stress più elevato con una latenza media delle query più elevata. La tabella seguente mostra le 25, 50, 75, 90, 95 e 99° percentuali della latenza di query per tre diversi livelli di utilizzo.

Percentuale massima QPS Latenza media 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

Prestazioni S2

Query al secondo

Il grafico seguente mostra il carico di query più elevato che un servizio può gestire per un lungo periodo di tempo in termini di query al secondo (QPS).

Massima quantità gestibile di QPS e-commerce s2

Latenza delle query

La latenza delle query varia in base al carico del servizio e dei servizi sottoposti stress più elevato con una latenza media delle query più elevata. La tabella seguente mostra le 25, 50, 75, 90, 95 e 99° percentuali della latenza di query per tre diversi livelli di utilizzo.

Percentuale massima QPS Latenza media 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

Prestazioni S3

Query al secondo

Il grafico seguente mostra il carico di query più elevato che un servizio può gestire per un lungo periodo di tempo in termini di query al secondo (QPS).

Massima quantità gestibile di QPS e-commerce s3

In questo caso, si noterà che l'aggiunta di una seconda partizione aumenta significativamente il numero massimo di QPS, ma l'aggiunta di una terza partizione garantisce una riduzione dei rendimenti marginali. Il miglioramento minore è probabilmente dovuto al fatto che tutti i dati sono già stati estratti nella memoria attiva di S3 con solo due partizioni.

Latenza delle query

La latenza delle query varia in base al carico del servizio e dei servizi sottoposti stress più elevato con una latenza media delle query più elevata. La tabella seguente mostra le 25, 50, 75, 90, 95 e 99° percentuali della latenza di query per tre diversi livelli di utilizzo.

Percentuale massima QPS Latenza media 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

Dettagli dello scenario

  • Conteggio documenti: 7,5 milioni
  • Dimensioni indice: 22 GB
  • Schema indice: 23 campi; 8 ricercabili, 10 filtrabili/facetable
  • Tipi di query: ricerche tramite parole chiave con facet ed evidenziazione dei risultati

Prestazioni S1

Query al secondo

Il grafico seguente mostra il carico di query più elevato che un servizio può gestire per un lungo periodo di tempo in termini di query al secondo (QPS).

Massima quantità gestibile di QPS ricerca documenti s1

Latenza delle query

La latenza delle query varia in base al carico del servizio e dei servizi sottoposti stress più elevato con una latenza media delle query più elevata. La tabella seguente mostra le 25, 50, 75, 90, 95 e 99° percentuali della latenza di query per tre diversi livelli di utilizzo.

Percentuale massima QPS Latenza media 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

Prestazioni S2

Query al secondo

Il grafico seguente mostra il carico di query più elevato che un servizio può gestire per un lungo periodo di tempo in termini di query al secondo (QPS).

Massima quantità gestibile di QPS ricerca documenti s2

Latenza delle query

La latenza delle query varia in base al carico del servizio e dei servizi sottoposti stress più elevato con una latenza media delle query più elevata. La tabella seguente mostra le 25, 50, 75, 90, 95 e 99° percentuali della latenza di query per tre diversi livelli di utilizzo.

Percentuale massima QPS Latenza media 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

Prestazioni S3

Query al secondo

Il grafico seguente mostra il carico di query più elevato che un servizio può gestire per un lungo periodo di tempo in termini di query al secondo (QPS).

Massima quantità gestibile di QPS ricerca documenti s3

Latenza delle query

La latenza delle query varia in base al carico del servizio e dei servizi sottoposti stress più elevato con una latenza media delle query più elevata. La tabella seguente mostra le 25, 50, 75, 90, 95 e 99° percentuali della latenza di query per tre diversi livelli di utilizzo.

Percentuale massima QPS Latenza media 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

Risultati

Grazie a questi benchmark, è possibile farsi un'idea delle prestazioni offerte da Azure AI Search. Notare inoltre la differenza tra i servizi a livelli diversi.

Di seguito sono riportate alcune delle principali soluzioni da questi benchmark:

  • Un S2 può in genere gestire almeno quattro volte il volume di query rispetto a S1
  • Un S2 ha in genere una latenza inferiore rispetto a un S1 in volumi di query confrontabili
  • Quando si aggiungono repliche, la quantità di QPS che può essere gestita da un servizio aumenta generalmente in modo lineare (ad esempio, se una replica può gestire 10 QPS, cinque repliche possono in genere gestire 50 QPS)
  • Maggiore il carico sul servizio, maggiore sarà la latenza media

Notare come le prestazioni possono variare drasticamente tra scenari. Se non si ottengono le prestazioni previste, vedere i suggerimenti per ottenere prestazioni migliori.

Passaggi successivi

Ora che si sono visti i benchmark delle prestazioni, è possibile ottenere altre informazioni su come analizzare le prestazioni e i fattori chiave di Azure AND che influenzano le prestazioni.