def pool_test(minsize, maxsize): pool = Pool(connect, minsize, maxsize, host='10.20.238.182', port=3306, user='******', password='******', db='webauth') assert pool.connected_count == 0 assert len(pool.free_items) == 0 assert not pool.waittings assert pool.maxsize == maxsize init_task = yield NewTask(pool.init()) yield WaitTask(init_task) assert pool.connected_count == minsize assert len(pool.free_items) == minsize assert not pool.waittings connected_count = pool.connected_count conns = [] for _ in range(minsize): conns.append((yield pool.get())) assert connected_count == pool.connected_count assert len(pool.free_items) == 0 for _ in range(maxsize - minsize): conns.append((yield pool.get())) assert len(pool.free_items) == 0 assert pool.connected_count == maxsize assert len(pool.free_items) == 0 yield NewTask(free_conn(pool, conns.pop())) conns.append((yield pool.get())) assert len(conns) == maxsize assert pool.connected_count == maxsize exit()
cookie = request.get_cookie("testcookie") r = HTTPReponse( """Hello world, %s, cookie: %s, request: %s data: %s connected: %s, pool left: %s Schedule: %s""" % (datetime.now(), cookie, request, rs[0], pool.connected_count, len(pool.free_items), schedule), "text/plain", ) r.set_cookie("testcookie", "%s" % time.time()) yield r # import logging # logging.root.setLevel(logging.DEBUG) httpserver = HTTPServer(handler) httpserver.listen(8081) schedule = Scheduler.instance() schedule.new(pool.init()) schedule.new(httpserver.start()) schedule.mainloop() """ TEST: httperf --hog --server=10.20.208.25 --timeout 5 --uri=/ --port=8081 \ --rate 100 --num-conns=1000 --num-calls=10 """