Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Recomendaciones de rendimiento adicionales

Esta página proporciona recomendaciones adicionales para mejorar el rendimiento de tus consultas de MongoDB Vector Search.

El modelo Hierarchical Navigable Small Worlds funciona de manera eficiente 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 nodos de búsqueda independientes para aislar la carga de trabajo sin aislar los 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
Requisitos de espacio

Voyage AI voyage_3_large

2048

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

OpenAI text-embedding-ada-002

1536

6kb

Google text-embedding-gecko

768

3kb

Cohere embed-english-v3.0

1024

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

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

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

Utiliza las siguientes métricas para observar y mejorar el rendimiento de tus índices y consultas de MongoDB Vector Search:

Supervisa la cantidad total de RAM utilizada por los índices de MongoDB Vector Search. La RAM adecuada es fundamental para el rendimiento de MongoDB Vector Search, porque las queries en el disco son mucho menos eficientes. Asegurarse de que todo el índice pueda caber en la memoria.

Asegúrese de que el System Memory disponible sea siempre mayor que el System Memory utilizado. Si el índice no se query con frecuencia, no todo el índice podría estar en la memoria. Por lo tanto, aproveche la métrica System Memory junto con la métrica Index Size para optimizar el provisionamineto.

Si el tamaño del índice de vectores supera 3 GB, recomendamos la cuantificación de vectores, que almacena solo el 4% del índice en memoria en lugar de todo el índice.

Supervisa el tamaño total de todos los índices en disco en bytes. Esto es necesario para asegurarse de haber dimensionado correctamente los requisitos de RAM.

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

Se debe supervisar la tasa promedio de fallas de página en un proceso por segundo durante un período de muestra seleccionado. La métrica Page Faults indica con qué frecuencia la consulta de búsqueda va al disco, lo que indica que el índice completo no cabe en la memoria.

Esta métrica debe permanecer lo más cerca de cero posible. Si ves fallos de página constantemente, considera escalar el nivel de clúster hacia arriba para provisionar la RAM adecuada.

Cuando se realiza una búsqueda vectorial sin utilizar nodos de búsqueda dedicados, las consultas realizan inicialmente 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 cargan en la memoria. Al utilizar nodos de búsqueda, este calentamiento de la caché suele producirse únicamente en caso de reconstrucción del índice, normalmente durante las ventanas de mantenimiento programadas.

Las incrustaciones de vectores consumen recursos computacionales durante la indexación. Las query de ENN en grandes conjuntos de datos consumen recursos de CPU. Como resultado, la indexación y la consulta al mismo tiempo pueden causar cuellos de botella de recursos. Para evitar cuellos de botella de la CPU, evite la indexación de vectores cuando se ejecuten las queries. Al realizar una sincronización inicial, asegúrese de que el uso de CPU de su nodo de búsqueda vuelva a ser cercano al 0%, lo que indica que los segmentos se han fusionado y vaciado en el disco, antes de emitir query de prueba.

Supervise la métrica Search Normalized Process CPU durante las operaciones de indexación, ya que la indexación intensiva mostrará un uso elevado de la CPU. Esta métrica muestra el uso de CPU como un porcentaje normalizado con respecto al número de núcleos de CPU disponibles, lo que le permite evaluar la saturación de recursos en relación con la capacidad de su clúster. Una vez que las incrustaciones vectoriales se hayan indexado, espere a que el uso de CPU vuelva a estar cerca del 0% a medida que la fusión de segmentos y el vaciamiento se completen.