Sto eseguendo un proof of concept utilizzando App Engine e l'API di ricerca integrata. Stiamo testando l'API di ricerca supponendo che fornisca il ridimensionamento lineare come nel caso di altri prodotti e servizi che sono associati a App Engine.API di ricerca su Google App Engine
- Specifiche: ca. 8 milioni di documenti in un unico indice
- Tipo di query: Query complesse, abbiamo bisogno di query spaziali basate su aree quadrate, non distanza (!). Tutte le query includono 2 intervalli basati sulla latitudine e sulla longitudine .
- Dimensioni pagina: tra 16 e 250.
- Precisione (conteggio dei risultati) impostato su 100 in tutti i casi di test.
La nostra prestazione target (latenza) è nell'intervallo dei 100 di millisecondi.
Stiamo testando le prestazioni dell'API di ricerca che eseguono diverse richieste simultanee. I risultati dei test sono ora misurati a circa 25 richieste simultanee, ma questo numero dovrebbe aumentare significativamente. Tuttavia, se l'API di ricerca è correttamente scalabile, questo dovrebbe essere privo di significato.
Sto misurando il tempo necessario all'API di ricerca per elaborare una chiamata a Index.search (Query). Quello che sto misurando è il seguente:
- Il tempo medio di risposta del metodo di ricerca è di circa 8000 ms. Non ci sono casi in cui il metodo ritorna significativamente più veloce o più lento di quello. Tuttavia, l'uso di un indice con 10 documenti comporta misurazioni della latenza di circa 300 ms (!!!). Questa potrebbe essere un'indicazione che l'API di ricerca non è affatto scalabile.
- Le dimensioni della pagina non sembrano presentare differenze significative. Forse a dimensioni di pagina di 10.000 o superiore lo farà, ma questo non fa parte dei nostri test.
- L'aggiunta di un criterio (uguaglianza) sembra velocizzare la ricerca in modo significativo. Fino a circa il 40% di miglioramento. Questo sembra un bel miglioramento, ma 4 secondi sono ancora un'eternità.
Domande:
- Qual è la latenza atteso (miglior scenario possibile/configurazione) che l'API di ricerca in grado di fornire?
- Quali parametri influenzano la latenza inclusa la configurazione del motore dell'app.
- Il numero di documenti in un indice influenza la latenza?
- È una ricerca basata su query di intervallo 2 più lenta di una ricerca basata solo sui filtri di uguaglianza? (perché potremmo pre-elaborare i dati e aggiungere i dati "indice" a ciascun documento).
- L'API di ricerca è davvero scalabile?
la domanda è ancora aperta? – pankajanand18
@ pankajanand18 No, vedi risposta sotto. Grazie! – moin