Posso limitar o número de arquivos mongodb (2gb cada)?

2

Eu vejo que meu servidor mongodb está criando arquivos assim:

my_db.ns
my_db.1
my_db.2
my_db.3
my_db....
my_db.15

para alguns dos meus processos mongod parar para 9, mas em algum momento vai até 13,14,15. e, em seguida, tenho algum problema de espaço na minha pequena instância da AWS. Eu não quero aumentar o tamanho.

Eu gostaria de dizer ao mongo (v2.6) para não ultrapassar 10 arquivos, mas sem bloquear o mongo ao adicionar novas entradas. Quero que os dados mais antigos sejam removidos ou que o espaço seja removido.

Eu usei isso para pedir ao mongo para não criar mais de 10 arquivos.

quota=true
quotaFiles=8

mas depois de um tempo de execução, ao inserir recebo este erro: MongoError: quota excedida

existe uma maneira de forçar o mongo a reutilizar os mesmos arquivos ou não criar novos, mas sem gerar erros?

Obrigado

    
por user1338920 20.09.2016 / 17:55

1 resposta

0

O MongoDB adicionará novos arquivos quando os antigos forem preenchidos. Se você definir uma cota como mencionou, quando estiver sem espaço em vez de alocar um novo arquivo, receberá um erro. Essas são basicamente suas duas escolhas.

Você pode usar pequenos incrementos de espaço (mas muito mais arquivos) configurando smallFiles , em cujo caso cada arquivo adicional no máximo será de 512MB, mas você precisará permitir ~ 4x mais arquivos em sua cota. Em algum momento, se você continuar adicionando dados com um limite rígido (a menos que você saiba que você não excederá o limite), você terá o mesmo erro.

Ler nas entrelinhas o que você quer é uma melhor reutilização de espaço pelo mecanismo de armazenamento, que é um tópico que foi discutido muitas vezes (veja minha resposta no tópico aqui ). Você pode encontrar melhor uso com o mecanismo de armazenamento WiredTiger, juntamente com o uso de compressão (veja meus testes em que aqui ), mas o uso do espaço em disco irá variar dependendo de seus padrões de uso, e você vai querer ter alguma sobrecarga em termos de espaço, mesmo assim.

    
por 11.10.2016 / 18:48

Tags