Indexação de segundo plano do MongoDB muito lenta

1

Estou executando o MongoDB em um Ubuntu em um único AWS EC2 como m4.2xlarge. O disco é 1280 GB io1 22000 IOPS no sistema de arquivos XFS, 73% cheio (é usado apenas para MongoDB). A versão do servidor MongoDB é 3.4.10.

Eu tenho uma coleção com 11,8 bilhões de documentos. Eu ponho em movimento a criação de um índice de fundo nesta coleção em um único campo Int64. Está funcionando há vários dias, com apenas 23% do índice completo. Começou rápido, mas agora a taxa é de cerca de 4,5 mil documentos por segundo. Se a taxa permanecer, a indexação será concluída em mais de 20 dias. Isso é totalmente inaceitável. O documento por segunda taxa vem caindo desde o início da indexação.

Atualmente, o servidor não é afetado por outras consultas. Infelizmente, é impossível para mim executar um índice de primeiro plano, pois há outros bancos de dados que estão sendo usados ativamente.

O que posso fazer para acelerar isso? Todas as sugestões são bem vindas. Devo interromper o índice, reforçar a instância do EC2 e tentar novamente? Eu não vejo que a CPU está trabalhando muito duro. Devo mudar o sistema de arquivos? A atualização para o MongoDB 3.6.2 afetará o desempenho da indexação?

Existe alguma coisa nas métricas do CloudWatch para o meu disco que seja surpreendente?

    
por wpfwannabe 13.01.2018 / 16:44

1 resposta

0

Acabei fazendo um índice de primeiro plano que parecia estar rodando a 1.000x a velocidade do índice de segundo plano. Esta capacidade temporariamente sacrificada de usar o banco de dados, mas definitivamente valeu a pena.

Espero que isso ajude alguém.

    
por 15.01.2018 / 17:20