O
avgObjSize
está fora de linha com a estimativa de 280 bytes. Está dizendo que seus objetos têm em média 5 MB e storageSize
está perto de 1GB. Se você estiver com restrição de memória, executar uma consulta que precisa acessar todos os 1 GB de arquivo causaria muitas falhas de página. Você já tentou compactar ?
db.runCommand({compact: 'Aggregates'})
ou reparando ?
db.repairDatabase()
Se isso não funcionar, tente recuperar apenas os campos necessários para a soma, em vez de extrair todo o documento. Pode ser que esses documentos tenham na verdade 5 MB e o tempo seja gasto puxando os dados pela rede.
def get_total():
start = datetime.now()
print sum([x['daily_total_pages'] for x in c.Aggregates.find({}, {"daily_total_pages": 1})])
end = datetime.now()
print (end-start).seconds