diff --git a/tests/bench/benchmark.py b/tests/bench/benchmark.py index b5f664e8df754ac659c1e728d86dd549ccf3c661..5b86587dfd639e5024aa842f2b9cfb034e7e73e5 100644 --- a/tests/bench/benchmark.py +++ b/tests/bench/benchmark.py @@ -7,14 +7,16 @@ import time import asyncio import matplotlib.pyplot as plt +NUM_SHARDS = 16 +NUM_KEYS = 10000 def benchmark_add_shard(conductor: ClusterConductor, dir, log: Logger): - with KVSTestFixture(conductor, dir, log, node_count=16) as fx: + with KVSTestFixture(conductor, dir, log, node_count=NUM_SHARDS) as fx: conductor.add_shard("shard1", conductor.get_nodes([0])) fx.broadcast_view(conductor.get_shard_view()) log("putting 100 keys\n") put_times = [] - for i in range(1000): + for i in range(NUM_SHARDS): c = KVSMultiClient(fx.clients, "client", log) start_time = time.time() r = c.put(0, f"key{i}", f"value{i}", timeout=10) @@ -24,7 +26,7 @@ def benchmark_add_shard(conductor: ClusterConductor, dir, log: Logger): log("Starting benchmark\n") reshard_times = [] - for shard in range(2, 17): + for shard in range(2, NUM_SHARDS+1): start_time = time.time() log(f"adding shard{shard}\n") conductor.add_shard(f"shard{shard}", conductor.get_nodes([shard - 1])) @@ -38,8 +40,8 @@ def benchmark_add_shard(conductor: ClusterConductor, dir, log: Logger): log(f"shard count: {shard}, reshard time: {time_taken}") # Generate plot - plt.figure(figsize=(10, 6)) - plt.plot(range(2, 17), reshard_times, marker='o') + plt.figure(figsize=(NUM_SHARDS, 10)) + plt.plot(range(2, NUM_SHARDS+1), reshard_times, marker='o') plt.title('Reshard Times') plt.xlabel('Number of Shards') plt.ylabel('Time (seconds)')