avgObjSize
nằm ngoài dòng với ước tính 280 byte. Nó nói rằng các đối tượng của bạn có dung lượng trung bình khoảng 5MB và storageSize
gần 1GB. Nếu bạn bị giới hạn bộ nhớ khi chạy một truy vấn cần truy cập tất cả 1GB tệp sẽ gây ra nhiều lỗi trang.
Bạn đã thử nén chưa ?
db.runCommand({compact: 'Aggregates'})
hoặc sửa chữa ?
db.repairDatabase()
Nếu điều đó không hiệu quả, hãy thử chỉ kéo lại những trường cần thiết cho tổng thay vì kéo toàn bộ tài liệu. Có thể những tài liệu đó thực sự là 5MB và thời gian được dành để kéo dữ liệu qua dây.
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