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:
- Il test inizia alle
X
query al secondo (QPS) per 180 secondi. Si tratta in genere di 5 o 10 QPS. - QPS è quindi aumentato di
X
ed è stato eseguito per altri 180 secondi - 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:
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.
Benchmark 1: ricerca di e-commerce
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).
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).
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).
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 |
Benchmark 2: Ricerca documenti
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).
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).
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).
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.
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per