bitly/asyncmongo — Issue #30: The delay in the request for a large database on 64bit
Author: lega911
Created: 2011-12-12 10:15:41+00:00
State: open

ubutnu 64bit, mongodb 2.0.1, DB > 3GB, objects > 3M

asyncmongo:
self.db = asyncmongo.Client(pool_id='mydb', host='127.0.0.1', port=27017, maxcached=10, maxconnections=50, dbname='crm1')
tr = yield gen.Task(self.db.obj.find, { 'type':0 }, sort=[('when',-1)], skip = 0, limit = 15)
if tr[1]['error']:
self.do_error(tr[1]['error'])
raise StopIteration
result = tr[0][0]

sync: pymongo:
result = list( self.dbs.obj.find({ 'type':0 }, skip = 0, limit = 15) )

duration for 1st query, 2nd, 3rd, 4s...
asyncmongo: 1ms, 600ms, 4000ms, 20s...
pymongo: 1ms, 1ms, 1ms, 1ms,

on linux 32bit, asyncmongo is ok.