Este guia ajuda você a escolher a configuração inicial correta para seu sistema do mongot
. Siga estas etapas para determinar uma configuração inicial eficaz e refiná-la para suas necessidades específicas.
Começar
Identifique sua principal classe de volume de trabalho
Primeiro, determine se seu aplicação se encaixa na classe de volume de trabalho de alta CPU ou baixa CPU. Este é o fator mais importante na seleção dos recursos certos.
- Volumes de trabalho de alta CPU
- Escolha esta classe para pesquisa de texto completo de uso geral, onde o desempenho da query é crítico e o uso intensivo da CPU. Estes nós normalmente têm uma proporção de RAM paraCPU 2:1.
- Volumes de trabalho de baixa CPU
- Essa classe é ideal para aplicativos de pesquisa vetorial, especialmente com baixos volumes de dados, onde a memória é priorizada em relação à potência bruta da CPU. Estes nós geralmente têm uma proporção de 8:1 de RAM para CPU.
Dica
Se você quiser começar rapidamente ou tiver um caso de uso geral, um nó pequeno ou médio de alta CPU normalmente é um ponto de partida equilibrado e eficaz.
Selecione um tamanho inicial
Depois de identificar sua classe de volume de trabalho, use a tabela a seguir para encontrar um tamanho de CPU inicial recomendado com base em sua dimensão de dimensionamento primária. Estas recomendações são um ponto de partida . Ajuste o tamanho da CPU com base nos seus padrões reais de volume de trabalho.
Caso de uso | classe | Dimensão de dimensionamento | Tamanho |
---|---|---|---|
Default | CPU alta | Uso geral, Começando | Pequena ou Média |
Vector Search, volumes de dados baixos | CPU baixa | <= 10GB of vectors 10GB - 50GB of vectors >= 50GB of vectors | Small Medium Large |
Full text search de uso geral com baixos volumes de dados | CPU alta | 20 - 40 QPS, light
indexing 80 - 160 QPS 320 - 480 QPS, heavy indexing | Small Medium Large |
Por exemplo, se você espera lidar com 100 queries por segundo (QPS) para um aplicação de pesquisa de texto completo, um nó Médio-Alto-CPU é uma escolha adequada.
Diretriz de dimensionamento de disco
Devido ao mapeamento do índice, o tamanho de uma collection e o tamanho do índice de pesquisa resultante nem sempre estão correlacionados. Por exemplo, se seus documentos tiverem 100 campos, mas seu índice de pesquisa estiver configurado para apenas 5 desses campos, o índice será muito menor do que a collection. Por outro lado, mapear todos os campos ou usar recursos como o preenchimento automático pode aumentar o tamanho do índice.
Estime o tamanho do índice
Para estimar o tamanho total do índice com base no tamanho da sua coleção, execute estas etapas:
Insira 1-2 GB de dados ou crie uma pequena coleção usando
$out
.Crie um índice de pesquisa com os mapeamentos de campo escolhidos.
Observe o tamanho do índice resultante e a proporção de tamanho do índice para a coleção. Se você já usa o Atlas Search, poderá encontrar o tamanho do índice nas métricas do cluster ou na página de lista de índices.
Use a proporção entre o tamanho do índice e a collection para estimar o tamanho total do índice com base no tamanho esperado da collection. Por exemplo, se uma collection de 1GB gerar um índice de 250MB (uma proporção de 0.25:1), uma collection de 12GB provavelmente resultaria em um índice de aproximadamente 3GB.
Refinar, implementar e monitorar
O dimensionamento é um processo iterativo. Depois de implementar a configuração inicial, monitore o desempenho e faça os ajustes necessários.
Refine sua estimativa: antes de distribuir, revise as considerações de alocação de recursos. Monitore cuidadosamente os fatores que podem impacto as necessidades de recursos, como sua estratégia de indexação (por exemplo, tokenização nGram) ou complexidade da query.
Para o dimensionamento do disco, lembre-se de que o tamanho do índice não está diretamente correlacionado ao tamanho da collection.
Implantação: para um aplicação pronto para produção, o uso de nós de pesquisa dedicados é altamente recomendado para garantir o isolamento de recursos e a alta disponibilidade.
Monitore as principais métricas: Após o lançamento, monitore o desempenho para ver se você precisa aumentar ou diminuir. Por exemplo:
CPU: se o uso da CPU estiver consistentemente acima de 80%, é provável que você precise escalar.
Memória: se
Search Page Faults
estiverem consistentemente acima de 1000 por segundo, seu sistema precisará de mais memória. Para medir falhas na página de pesquisa, use a métricamongot_system_process_majorPageFaults_operations
.Disco: verifique se você tem espaço livre em disco suficiente para lidar com as reconstruções dos índices. Geralmente, você deve alocar o dobro do espaço em disco exigido pelo índice. Esse espaço extra permite que os índices sejam reconstruídos quando necessário.
mongot
torna-se somente leitura quando a utilização do disco atinge 90%.