Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import time
- import logging
- import gevent
- from kazoo.client import KazooClient
- from kazoo.handlers.gevent import SequentialGeventHandler
- logging.basicConfig()
- def timeit(f, *args, **kw):
- start = time.time()
- try:
- return f(*args, **kw)
- finally:
- print "executed in {:0.2f} secs".format(time.time() - start)
- def create_nodes(client, prefix, count):
- data = "="*5000
- for i in xrange(count):
- client.create("{}_{}".format(prefix, str(i)), data)
- def read_nodes(client, prefix, count):
- for i in xrange(count):
- client.get("{}_{}".format(prefix, str(i)))
- def test_zk(concur, count):
- client = KazooClient(handler=SequentialGeventHandler())
- client.start()
- greenlets = []
- for i in xrange(concur):
- worker = gevent.spawn_later(0, create_nodes, client, str(i), count)
- greenlets.append(worker)
- gevent.joinall(greenlets)
- timeit(test_zk, 20, 300)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement