Esta página fornece recomendações adicionais para melhorar o desempenho de suas queries do MongoDB Vector Search .
Garanta memória suficiente
O hierárquico de mundos pequenos navegáveis funciona eficientemente quando dados vetoriais são mantidos na memória. Você deve garantir que os nós de dados tenham RAM suficiente para manter os dados e índices vetoriais. Recomendamos a implantação de nós de pesquisa separados para isolamento do volume de trabalho sem isolamento de dados, o que permite um uso mais eficiente da memória para casos de uso de pesquisa vetorial.
| Modelo de incorporação | Dimensão vetorial | Requisitos de espaço | 
|---|---|---|
| Voyage AI  | 2048 | 8kb (for  float)2.14kb (for  int8)0.334kb (for  int1) | 
| OpenAI  | 1536 | 6kb | 
| Google  | 768 | 3kb | 
| Cohere  | 1024 | 4kb (for  float)1.07kb (for  int8)0.167kb (for  int1) | 
Vetores quantizados BinData. Para saber mais,consulte Ingestão de vetores quantizados.
A quantidade de recursos de CPU, memória e disco que o MongoDB Vector Search consome depende de vários fatores, incluindo o tamanho do índice e os critérios de query. É importante monitorar seu ambiente para entender a integridade e o desempenho da pesquisa vetorial e para confirmar a capacidade adequada da infraestrutura e identificar quaisquer anomalias.
Use as seguintes métricas para observar e melhorar o desempenho dos seus índices e queries do MongoDB Vector Search :
Pesquisar memória do sistema
Monitore a quantidade total de RAM usada pelos seus índices do MongoDB Vector Search . RAM adequada é fundamental para o desempenho da query do MongoDB Vector Search porque as queries que vão para o disco têm muito menos desempenho. Certifique-se de que todo o índice caiba na memória.
Garanta que System Memory o disponível seja sempre maior do que System Memory o usado. Se o índice não for consultado com frequência, nem todo o índice poderá estar na memória. Portanto, aproveite a System Memory métrica em conjunto com a Index Size métrica para otimizar o provisionamento.
Se o tamanho do índice do vetor tiver mais de 3 GB, recomendamos a quantização do vetor, que armazena apenas 4% do índice na memória, em vez do índice completo.
Tamanho do índice de pesquisa
Monitore o tamanho total de todos os índices no disco em bytes. Isso é necessário para garantir que você tenha dimensionado com precisão seus requisitos de RAM.
Verifique a Index Size métrica de pesquisa no disco para ver qual seria o tamanho total 100do índice se % do vetor estiver armazenado na memória e garanta que ele seja menor do que a memória do sistema disponível.
Falhas na página de pesquisa
Monitore a taxa média de falhas de página em um processo por segundo durante um período de amostra selecionado. A métrica Page Faults indica com que frequência a query de pesquisa vai para o disco, o que indica que o índice completo não está cabendo na memória.
Essa métrica deve permanecer o mais próximo possível de zero. Se você ver falhas de página consistentemente, considere dimensionar a camada do cluster para provisionar a RAM adequada.
Aquecer o cache do sistema de arquivos
Quando você realiza a pesquisa vetorial sem usar nós de pesquisa dedicados, suas queries inicialmente executam buscas aleatórias no disco à medida que você atravessa o gráfico Hierarchical Navigable Small Worlds e os valores vetoriais são lidos na memória. Ao usar Nós de Pesquisa, esse aquecimento de cache normalmente ocorre apenas no evento de reconstrução de um índice, geralmente durante janelas de manutenção programadas.
Monitore para gargalos da CPU
As incorporações de vetor consomem recursos computacionais durante a indexação. QueriesENN em grandes conjuntos de dados consomem recursos da CPU. Como resultado, indexar e fazer query ao mesmo tempo pode causar gargalos de recursos. Para evitar gargalos da CPU, evite indexar vetores quando as queries estiverem em execução. Ao executar uma sincronização inicial, certifique-se de que o uso da CPU do nó de pesquisa retorne perto de 0%, indicando que os segmentos foram mesclados e liberados para o disco, antes de emitir consultas de teste.
Monitore a métrica Search Normalized Process CPU durante as operações de indexação, pois a indexação pesada mostrará uso elevado da CPU. Essa métrica mostra o uso da CPU como uma porcentagem normalizada em relação ao número de núcleos da CPU disponíveis, o que permite avaliar a saturação de recursos em relação à capacidade do cluster. Depois que as incorporações vetoriais forem indexadas, aguarde até que o uso da CPU retorne perto de 0% à medida que a mesclagem e a liberação do segmento são concluídas.