Docs Menu
Docs Home
/ /

Recomendaciones de rendimiento adicionales

Esta página proporciona recomendaciones adicionales para mejorar el rendimiento de sus consultas de búsqueda vectorial de MongoDB.

Pequeños mundos navegables jerárquicos Funciona eficientemente cuando los datos vectoriales se almacenan en memoria. Debe asegurarse de que los nodos de datos tengan suficiente RAM para almacenar los datos vectoriales y los índices. Recomendamos implementar por separado. Nodos de búsqueda para el aislamiento de la carga de trabajo sin aislamiento de datos, lo que permite un uso más eficiente de la memoria para casos de uso de búsqueda vectorial.

Modelo de incrustación
Dimensión vectorial
Requisito de espacio

Voyage AI voyage_3_large

2048

8kb (for float)
2.14kb (for int8)
0.334kb (for int1)

OpenAI text-embedding-ada-002

1536

6kb

Google text-embedding-gecko

768

3kb

Cohere embed-english-v3.0

1024

4kb (for float)
1.07kb (for int8)
0.167kb (for int1)

Vectores cuantificados de BinData. Para más información, consulte Ingesta de vectores cuantificados.

La cantidad de recursos de CPU, memoria y disco que consume MongoDB Vector Search depende de varios factores, como el tamaño del índice y los criterios de consulta. Es importante supervisar el entorno para comprender el estado y el rendimiento de la búsqueda vectorial, así como para confirmar que la capacidad de la infraestructura sea adecuada e identificar cualquier anomalía.

Utilice las siguientes métricas para observar y mejorar el rendimiento de sus índices y consultas de búsqueda vectorial de MongoDB:

Monitorea la cantidad total de RAM utilizada por tus índices de MongoDB Vector Search. Una cantidad adecuada de RAM es crucial para el rendimiento de las consultas de MongoDB Vector Search, ya que las consultas que se ejecutan en disco tienen un rendimiento mucho menor. Asegúrate de que todo el índice quepa en la memoria.

Asegúrese de que esté disponible System Memory Siempre es mayor que System Memory el valor usado. Si el índice no se consulta con frecuencia, es posible que no esté completamente en memoria. Por lo tanto, utilice la System Memory métrica junto con la Index Size métrica para optimizar el aprovisionamiento.

Si el tamaño del índice del vector es superior a 3 GB, recomendamos la cuantificación vectorial, que almacena solo el 4% del índice en la memoria en lugar del índice completo.

Monitoree el tamaño total de todos los índices del disco en bytes. Esto es necesario para garantizar que haya calculado correctamente sus requisitos de RAM.

Verifique la Index Size métrica de búsqueda en el disco para ver cuál sería el tamaño 100del índice completo si el % del vector se almacena en la memoria y asegúrese de que sea menor que la memoria del sistema disponible.

Monitorea la tasa promedio de fallos de página por segundo en un proceso durante un período de muestra seleccionado. La métrica Page Faults indica la frecuencia con la que la consulta de búsqueda se envía al disco, lo que indica que el índice completo no cabe en la memoria.

Esta métrica debe mantenerse lo más cercana posible a cero. Si detecta fallos de página constantemente, considere ampliar el nivel del clúster para aprovisionar la RAM adecuada.

Al realizar una búsqueda vectorial sin usar nodos de búsqueda dedicados, las consultas inicialmente realizan búsquedas aleatorias en el disco a medida que se recorre el grafo de mundos pequeños navegables jerárquicos y los valores vectoriales se leen en memoria. Al usar nodos de búsqueda, este calentamiento de caché generalmente solo ocurre al reconstruir un índice, generalmente durante las ventanas de mantenimiento programadas.

Las incrustaciones vectoriales consumen recursos computacionales durante la indexación. Las consultasENN en conjuntos de datos grandes consumen recursos de CPU. Por lo tanto, indexar y consultar simultáneamente puede causar cuellos de botella en los recursos. Para evitar cuellos de botella en la CPU, evite indexar vectores mientras se ejecutan consultas. Al realizar una sincronización inicial, asegúrese de que el uso de CPU del nodo de búsqueda sea cercano al 0%, lo que indica que los segmentos se han fusionado y vaciado en el disco, antes de ejecutar consultas de prueba.

Supervise la Search Normalized Process CPU métrica durante las operaciones de indexación, ya que una indexación intensa mostrará un uso elevado de la CPU. Esta métrica muestra el uso de la CPU como un porcentaje normalizado respecto a la cantidad de núcleos de CPU disponibles, lo que permite evaluar la saturación de recursos en relación con la capacidad del clúster. Una vez indexadas las incrustaciones vectoriales, espere a que el uso de la CPU vuelva a cerca del 0% una vez finalizada la fusión y el vaciado de segmentos.

Volver

Resultados de benchmark

En esta página