From f20101370ce35e9851118d03b63b2ddc05b53feb Mon Sep 17 00:00:00 2001 From: Marco Primi Date: Fri, 2 Dec 2022 15:00:59 -0800 Subject: [PATCH] Adjust minimum operations for JetStream benchmarks Lower minimum amount of data / number of operations so that benchmarks can run in reasonable time. Minimum amount of work should be controlled via `-benchtime` flag. But due to these hardcoded limits, some tests were taking too long. e.g. Running for 2 minutes even with `-benchtime` set to 1 second. --- server/jetstream_benchmark_consume_test.go | 8 ++++---- server/jetstream_benchmark_kv_test.go | 2 +- server/jetstream_benchmark_publish_test.go | 8 ++++---- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/server/jetstream_benchmark_consume_test.go b/server/jetstream_benchmark_consume_test.go index c7510205..20ebdcf5 100644 --- a/server/jetstream_benchmark_consume_test.go +++ b/server/jetstream_benchmark_consume_test.go @@ -256,10 +256,10 @@ func BenchmarkJetStreamConsume(b *testing.B) { messageSize int minMessages int }{ - {1, 1, 10, 1_000_000}, // Single node, 10B messages, ~10MiB minimum - {1, 1, 1024, 100_000}, // Single node, 1KB messages, ~100MiB minimum - {3, 3, 10, 1_000_000}, // Cluster, R3, 10B messages, ~10MiB minimum - {3, 3, 1024, 100_000}, // Cluster, R3, 1KB messages, ~100MiB minimum + {1, 1, 10, 100_000}, // Single node, 10B messages, ~1MiB minimum + {1, 1, 1024, 1_000}, // Single node, 1KB messages, ~1MiB minimum + {3, 3, 10, 100_000}, // Cluster, R3, 10B messages, ~1MiB minimum + {3, 3, 1024, 1_000}, // Cluster, R3, 1KB messages, ~1MiB minimum } //Each of the cases above is run with each of the consumer types diff --git a/server/jetstream_benchmark_kv_test.go b/server/jetstream_benchmark_kv_test.go index 684614ba..0c2c8e12 100644 --- a/server/jetstream_benchmark_kv_test.go +++ b/server/jetstream_benchmark_kv_test.go @@ -31,7 +31,7 @@ func BenchmarkJetStreamKV(b *testing.B) { kvNamePrefix = "B_" keyPrefix = "K_" seed = 12345 - minOps = 100_000 + minOps = 1_000 ) runKVGet := func(b *testing.B, kvs []nats.KeyValue, keys []string) int { diff --git a/server/jetstream_benchmark_publish_test.go b/server/jetstream_benchmark_publish_test.go index d1ea0c85..f4c45fea 100644 --- a/server/jetstream_benchmark_publish_test.go +++ b/server/jetstream_benchmark_publish_test.go @@ -140,10 +140,10 @@ func BenchmarkJetStreamPublish(b *testing.B) { numSubjects int minMessages int }{ - {1, 1, 10, 1, 1_000_000}, // Single node, 10B messages, ~10MB minimum - {1, 1, 1024, 1, 500_000}, // Single node, 1KB messages, ~500MB minimum - {3, 3, 10, 1, 500_000}, // 3-nodes cluster, R=3, 10B messages, ~5MB minimum - {3, 3, 1024, 1, 100_000}, // 3-nodes cluster, R=3, 10B messages, ~100MB minimum + {1, 1, 10, 1, 100_000}, // Single node, 10B messages, ~1MB minimum + {1, 1, 1024, 1, 1_000}, // Single node, 1KB messages, ~1MB minimum + {3, 3, 10, 1, 100_000}, // 3-nodes cluster, R=3, 10B messages, ~1MB minimum + {3, 3, 1024, 1, 1_000}, // 3-nodes cluster, R=3, 10B messages, ~1MB minimum } // All the cases above are run with each of the publisher cases below