def __init__(self, host=None, port=None): if host and port: self.taran = aiotarantool.connect(str(host), int(port), user='******', password="******") else: self.taran = aiotarantool.connect("127.0.0.1", 3311, user='******', password="******")
def target_bench(loop): print("run process:", os.getpid()) tnt = aiotarantool.connect("127.0.0.1", 3301) bench = Bench(tnt) tasks = [] tasks += [asyncio. async (bench.insert_job()) for _ in range(20)]
def target_bench(loop): print("run process:", os.getpid()) tnt = aiotarantool.connect("127.0.0.1", 3301) bench = Bench(tnt) tasks = [] tasks += [asyncio.async(bench.insert_job()) for _ in range(20)]
def __init__(self, host=None, port=None): """TBD.""" self.taran = aiotarantool.connect( "127.0.0.1", 3311, user='******', password="******" )
async def tt_request(space=None, request=None): if not request: request = [] else: request = [request] taran = aiotarantool.connect("localhost", 3311, user='******', password="******") result = await taran.call('box.space.{}:select'.format(space), request) return result
def __init__(self): """Initiate creating a connection string.""" """Connection to Tarantool will be opened at first query.""" """We keep connection opened. Only one connection will used for """ """all queries.""" self.taran = aiotarantool.connect( "127.0.0.1", 3311, user='******', password="******" )
def __init__(self, host="localhost", port=33013, user=None, password=None, loop=None, lua_queue_name="box.queue"): if not host or not port: raise self.BadConfigException( "host and port params must be not empty" ) if not isinstance(port, int): raise self.BadConfigException("port must be int") self.host = host self.port = port self.user = user self.password = password self.loop = loop or asyncio.get_event_loop() self.lua_queue_name = lua_queue_name self.tubes = dict() self.tnt = aiotarantool.connect(self.host, self.port, user=self.user, password=self.password, loop=self.loop)
async def bench_aiotarantool(n, b): import aiotarantool conn = aiotarantool.connect('127.0.0.1', 3305, user='******', password='******') n_requests_per_bulk = int(math.ceil(n / b)) async def bulk_f(): for _ in range(n_requests_per_bulk): await conn.ping() # await conn.call('test') # await conn.eval('return "hello"') # await conn.select(512) # await conn.replace('tester', [2, 'hhhh']) # await conn.update('tester', [2], [(':', 1, 1, 3, 'yo!')]) coros = [bulk_f() for _ in range(b)] start = datetime.datetime.now() await asyncio.wait(coros) end = datetime.datetime.now() elapsed = end - start print('Elapsed: {}, RPS: {}'.format(elapsed, n / elapsed.total_seconds()))
def target_bench(loop): print("run process:", os.getpid()) tnt = aiotarantool.connect("127.0.0.1", 3301) bench = Bench(tnt) tasks = [] tasks += [loop.create_task(bench.insert_job()) for _ in range(20)] tasks += [loop.create_task(bench.select_job()) for _ in range(20)] tasks += [loop.create_task(bench.update_job()) for _ in range(20)] tasks += [loop.create_task(bench.delete_job()) for _ in range(20)] t1 = loop.time() loop.run_until_complete(asyncio.wait(tasks)) t2 = loop.time() loop.run_until_complete(tnt.close()) print("select=%d; insert=%d; update=%d; delete=%d; total=%d" % (bench.cnt_s, bench.cnt_i, bench.cnt_u, bench.cnt_d, t2 - t1)) loop.close()
async def create_aiotarantool(loop): import aiotarantool conn = aiotarantool.connect(HOST, PORT, user=USERNAME, password=PASSWORD) await conn.connect() return conn
for it in range(2500): cnt += 1 r = yield from tnt.insert("tester", (cnt, data[it % mod_len])) @asyncio.coroutine def delete_job(tnt): global cnt for it in range(2500): cnt += 1 r = yield from tnt.delete("tester", cnt) loop = asyncio.get_event_loop() # create tnt instance, not real connect tnt = aiotarantool.connect("127.0.0.1", 3301) tasks = [asyncio.async(delete_job(tnt)) for _ in range(40)] t1 = loop.time() loop.run_until_complete(asyncio.wait(tasks)) # close tnt connection loop.run_until_complete(tnt.close()) t2 = loop.time() print("total:", t2 - t1) loop.close()
for it in range(2500): cnt += 1 r = await tnt.insert("tester", (cnt, data[it % mod_len])) async def delete_job(tnt): global cnt for it in range(2500): cnt += 1 r = await tnt.delete("tester", cnt) loop = asyncio.get_event_loop() # create tnt instance, not real connect tnt = aiotarantool.connect("127.0.0.1", 3301) tasks = [loop.create_task(delete_job(tnt)) for _ in range(40)] t1 = loop.time() loop.run_until_complete(asyncio.wait(tasks)) # close tnt connection loop.run_until_complete(tnt.close()) t2 = loop.time() print("total:", t2 - t1) loop.close()