avgObjSize
je mimo odhad 280 bajtů. Říká se, že vaše objekty mají v průměru kolem 5 MB a storageSize
je téměř 1 GB. Pokud jste s omezenou pamětí spouštění dotazu, který potřebuje přístup k celému 1GB souboru, způsobilo by to spoustu chyb stránky.
Zkoušeli jste zhutňování ?
db.runCommand({compact: 'Aggregates'})
nebo oprava ?
db.repairDatabase()
Pokud to nefunguje, zkuste stáhnout zpět pouze ta pole potřebná pro součet, nikoli celý dokument. Je možné, že tyto dokumenty mají ve skutečnosti 5 MB a čas strávený přetahováním dat po drátě.
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