Condividi tramite


Benchmark delle prestazioni di Ricerca intelligenza artificiale di Azure

Importante

Questi benchmark si applicano ai servizi di ricerca creati prima del 3 aprile 2024 nelle distribuzioni eseguite nell'infrastruttura precedente. I benchmark si applicano anche solo ai carichi di lavoro non di ottimizzazione. Gli aggiornamenti sono in sospeso per i servizi e i carichi di lavoro sui nuovi limiti.

I benchmark delle prestazioni sono utili per stimare 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.

Per stimare le 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 casi d'uso diversi, 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 nordica CDON.
  • Ricerca documenti: questo scenario è costituito dalla ricerca di parole chiave su documenti full-text di Semantic Scholar. In questo modo viene emulata una tipica soluzione di ricerca di documenti.

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

Metodologia di test

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

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

  1. Il test inizia alle 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 è aumentata superiore a 1000 ms o inferiore al 99% delle query ha avuto 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 asimmetrici tramite la 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 del fatto che nei test di stima e prestazioni. Il codice di esempio per simulare l'indicizzazione è disponibile in questa esercitazione.

Definizioni

  • QPS massimo: 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 del numero massimo di QPS : 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).

Test della dichiarazione di non responsabilità

Il codice usato per eseguire questi benchmark è disponibile nel repository azure-search-performance-testing . Vale la pena notare che sono stati osservati livelli QPS leggermente inferiori con la soluzione di test delle prestazioni di JMeter rispetto ai benchmark. Le differenze possono essere attribuite alle differenze nello stile dei 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 della regione nordica con operazioni in Svezia, Finlandia, Norvegia e Danimarca. Attraverso i suoi 1.500 commercianti, CDON offre un'ampia gamma 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 Ricerca per intelligenza artificiale di Azure, 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 sito Web.

Dettagli scenario

  • Conteggio documenti: 6.000.000
  • Dimensioni indice: 20 GB
  • Schema indice: un indice wide con un totale di 250 campi, 25 campi ricercabili e 200 campi con tabella visibile/filtrabile
  • Tipi di query: query di ricerca full-text, inclusi facet, filtri, ordinamento e profili di assegnazione dei 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).

S1 di e-commerce QPS gestibile più alto

Latenza delle query

La latenza delle query varia in base al carico del servizio e dei servizi sotto stress più elevato con una latenza media delle query più elevata. La tabella seguente mostra i 25, 50, 75, 90, 95 e 99° percentile 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).

E-commerce QPS più alto gestibile s2

Latenza delle query

La latenza delle query varia in base al carico del servizio e dei servizi sotto stress più elevato con una latenza media delle query più elevata. La tabella seguente mostra i 25, 50, 75, 90, 95 e 99° percentile 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 manutenzione 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 più piccolo è 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 sotto stress più elevato con una latenza media delle query più elevata. La tabella seguente mostra i 25, 50, 75, 90, 95 e 99° percentile 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 scenario

  • Conteggio documenti: 7,5 milioni
  • Dimensioni indice: 22 GB
  • Schema indice: 23 campi; 8 ricercabili, 10 filtrabili/visualizzabili
  • Tipi di query: ricerche di 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).

Ricerca documenti QPS gestibile più elevata s1

Latenza delle query

La latenza delle query varia in base al carico del servizio e dei servizi sotto stress più elevato con una latenza media delle query più elevata. La tabella seguente mostra i 25, 50, 75, 90, 95 e 99° percentile 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).

Ricerca documenti QPS gestibile più elevata s2

Latenza delle query

La latenza delle query varia in base al carico del servizio e dei servizi sotto stress più elevato con una latenza media delle query più elevata. La tabella seguente mostra i 25, 50, 75, 90, 95 e 99° percentile 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).

Ricerca documenti QPS gestibile più elevata s3

Latenza delle query

La latenza delle query varia in base al carico del servizio e dei servizi sotto stress più elevato con una latenza media delle query più elevata. La tabella seguente mostra i 25, 50, 75, 90, 95 e 99° percentile 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 ottenere un'idea delle offerte di Ricerca di intelligenza artificiale di Azure per le prestazioni. È anche possibile visualizzare 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 come S1
  • Una S2 ha in genere una latenza inferiore rispetto a una S1 in volumi di query confrontabili
  • Quando si aggiungono repliche, il servizio QPS può gestire in genere le scalabilità lineari( ad esempio, se una replica può gestire 10 QPS, cinque repliche possono in genere gestire 50 QPS)
  • Maggiore è il carico sul servizio, maggiore è la latenza media

È anche possibile osservare che le prestazioni possono variare drasticamente tra gli scenari. Se non si ottengono le prestazioni previste, consultare i suggerimenti per ottenere prestazioni migliori.

Passaggi successivi

Dopo aver visto i benchmark delle prestazioni, è possibile ottenere altre informazioni su come analizzare le prestazioni e i fattori chiave di Ricerca intelligenza artificiale di Azure che influenzano le prestazioni.