Adjust concurrency based on protocol version
This commit is contained in:
@@ -124,7 +124,9 @@ def benchmark(thread_class):
|
|||||||
start = time.time()
|
start = time.time()
|
||||||
try:
|
try:
|
||||||
for i in range(options.threads):
|
for i in range(options.threads):
|
||||||
thread = thread_class(i, session, query, values, per_thread, options.profile)
|
thread = thread_class(
|
||||||
|
i, session, query, values, per_thread,
|
||||||
|
cluster.protocol_version, options.profile)
|
||||||
thread.daemon = True
|
thread.daemon = True
|
||||||
threads.append(thread)
|
threads.append(thread)
|
||||||
|
|
||||||
@@ -217,13 +219,14 @@ def parse_options():
|
|||||||
|
|
||||||
class BenchmarkThread(Thread):
|
class BenchmarkThread(Thread):
|
||||||
|
|
||||||
def __init__(self, thread_num, session, query, values, num_queries, profile):
|
def __init__(self, thread_num, session, query, values, num_queries, protocol_version, profile):
|
||||||
Thread.__init__(self)
|
Thread.__init__(self)
|
||||||
self.thread_num = thread_num
|
self.thread_num = thread_num
|
||||||
self.session = session
|
self.session = session
|
||||||
self.query = query
|
self.query = query
|
||||||
self.values = values
|
self.values = values
|
||||||
self.num_queries = num_queries
|
self.num_queries = num_queries
|
||||||
|
self.protocol_version = protocol_version
|
||||||
self.profiler = Profile() if profile else None
|
self.profiler = Profile() if profile else None
|
||||||
|
|
||||||
def start_profile(self):
|
def start_profile(self):
|
||||||
|
@@ -48,7 +48,12 @@ class Runner(BenchmarkThread):
|
|||||||
def run(self):
|
def run(self):
|
||||||
self.start_profile()
|
self.start_profile()
|
||||||
|
|
||||||
for _ in range(min(120, self.num_queries)):
|
if self.protocol_version >= 3:
|
||||||
|
concurrency = 1000
|
||||||
|
else:
|
||||||
|
concurrency = 100
|
||||||
|
|
||||||
|
for _ in range(min(concurrency, self.num_queries)):
|
||||||
self.insert_next()
|
self.insert_next()
|
||||||
|
|
||||||
self.event.wait()
|
self.event.wait()
|
||||||
|
Reference in New Issue
Block a user