From e7a572dee6b340cfe3b72c6c190d1fe380004623 Mon Sep 17 00:00:00 2001 From: atilsensalduz Date: Tue, 29 Jul 2025 16:23:14 +0100 Subject: [PATCH 1/2] chore: update AMI IDs to newer OS version and fix typos - Replaced deprecated AMI IDs with updated ones based on the supported OS version - Fixed minor typos Signed-off-by: atilsensalduz --- README.md | 117 ++++++++++-------- .../archetype-resources/workdir/agents.txt | 2 +- .../driver-hazelcast4plus/conf/worker.sh | 2 +- .../hz/IdentifiedDataSerializableFactory.java | 4 +- ...ifiedDataSerializableMultipleIntsPojo.java | 2 +- .../simulator/tests/topic/ITopicTest.java | 2 +- .../readers/NpyArchiveDatasetReader.java | 6 +- .../probes/impl/HdrLatencyProbe.java | 2 +- .../simulator/protocol/ConnectionFactory.java | 2 +- .../worker/testcontainer/ProbabilityTest.java | 4 +- .../testcontainer/PropertyBindingTest.java | 2 +- src/perf_analysis_cli.py | 6 +- src/simulator/perftest_report_common.py | 12 +- .../hazelcast5-cp-ec2/inventory_plan.yaml | 12 +- templates/hazelcast5-ec2/inventory_plan.yaml | 6 +- .../hazelcast5-hd-ec2/inventory_plan.yaml | 12 +- .../inventory_plan.yaml | 6 +- .../hazelcast5-sql-ec2/inventory_plan.yaml | 6 +- .../inventory_plan.yaml | 6 +- .../inventory_plan.yaml | 12 +- .../hazelcast5-tls-ec2/inventory_plan.yaml | 6 +- 21 files changed, 120 insertions(+), 109 deletions(-) diff --git a/README.md b/README.md index 2c2c881a4a..d44f84d8c5 100644 --- a/README.md +++ b/README.md @@ -24,62 +24,73 @@ Hazelcast Simulator is available as a downloadable package on the Hazelcast website. Please refer to the [Quickstart](#quickstart) to start your Simulator journey. +- [Hazelcast Simulator](#hazelcast-simulator) - [Quickstart](#quickstart) - * [Install](#install) - * [Creating a benchmark](#creating-a-benchmark) - * [Provisioning the environment](#provisioning-the-environment) - * [SSH to nodes](#ssh-to-nodes) - * [Running a test.](#running-a-test) - * [What's next](#whats-next) + - [Install](#install) + - [Creating a benchmark](#creating-a-benchmark) + - [Provisioning the environment](#provisioning-the-environment) + - [SSH to nodes](#ssh-to-nodes) + - [Running a test.](#running-a-test) + - [What's next](#whats-next) - [Key Concepts and Terminology](#key-concepts-and-terminology) - [Define test scenario](#define-test-scenario) - * [TestSuite configuration](#testsuite-configuration) - + [Specify the test environment and non-class-specific parameters](#specify-the-test-environment-and-non-class-specific-parameters) - + [Specify test class(es) and number of threads per worker](#specify-test-classes-and-number-of-threads-per-worker) - + [Setting up operations frequency](#setting-up-operations-frequency) - + [Configuring parameters](#configuring-parameters) - + [Latency Testing](#latency-testing) - * [Controlling the Cluster Layout](#controlling-the-cluster-layout) - + [Set number of members and clients](#set-number-of-members-and-clients) - + [Control distribution of workers over machines](#control-distribution-of-workers-over-machines) - - [Default distribution algorithm](#default-distribution-algorithm) - - [Reserving machines for members only](#reserving-machines-for-members-only) - * [Order of the IP addresses](#order-of-the-ip-addresses) - + [Running tests against an already running cluster](#running-tests-against-an-already-running-cluster) - + [Running tests against a cluster in Hazelcast Cloud](#running-tests-against-a-cluster-in-hazelcast-cloud) - * [Controlling the Hazelcast Configuration](#controlling-the-hazelcast-configuration) - + [IP addresses and other configuration auto-filling](#ip-addresses-and-other-configuration-auto-filling) + - [TestSuite configuration](#testsuite-configuration) + - [Specify the test environment and non-class-specific parameters](#specify-the-test-environment-and-non-class-specific-parameters) + - [Specify test class(es) and number of threads per worker](#specify-test-classes-and-number-of-threads-per-worker) + - [Setting up operations frequency](#setting-up-operations-frequency) + - [Configuring parameters](#configuring-parameters) + - [Latency Testing](#latency-testing) + - [Controlling the Cluster Layout](#controlling-the-cluster-layout) + - [Set number of members and clients](#set-number-of-members-and-clients) + - [Control distribution of workers over machines](#control-distribution-of-workers-over-machines) + - [Default distribution algorithm](#default-distribution-algorithm) + - [Reserving machines for members only](#reserving-machines-for-members-only) + - [Order of the IP addresses](#order-of-the-ip-addresses) + - [Running tests against an already running cluster](#running-tests-against-an-already-running-cluster) + - [Running tests against a cluster in Hazelcast Cloud](#running-tests-against-a-cluster-in-hazelcast-cloud) + - [Controlling the Hazelcast Configuration](#controlling-the-hazelcast-configuration) + - [IP addresses and other configuration auto-filling](#ip-addresses-and-other-configuration-auto-filling) - [Run the test](#run-the-test) - * [Configure test duration](#configure-test-duration) - * [Specify TestSuite file to be used](#specify-testsuite-file-to-be-used) - * [Installing Simulator on remote machines](#installing-simulator-on-remote-machines) + - [Configure test duration](#configure-test-duration) + - [Specify TestSuite file to be used](#specify-testsuite-file-to-be-used) + - [Installing Simulator on remote machines](#installing-simulator-on-remote-machines) - [Report generation](#report-generation) - * [Basics](#basics) - * [Generate comparison reports](#generate-comparison-reports) - * [Extensive reports](#extensive-reports) - * [Warmup and cooldown](#warmup-and-cooldown) + - [Basics](#basics) + - [Generate comparison reports](#generate-comparison-reports) + - [Extensive reports](#extensive-reports) + - [Warmup and cooldown](#warmup-and-cooldown) - [Simulator Properties reference](#simulator-properties-reference) - [Advanced topics](#advanced-topics) - * [Writing a Simulator test](#writing-a-simulator-test) - + [Adding properties](#adding-properties) - + [ThreadState](#threadstate) - + [AfterRun and BeforeRun](#afterrun-and-beforerun) - + [Verification](#verification) - + [TearDown](#teardown) - + [Complete Lifecycle of Calls on the Test](#complete-lifecycle-of-calls-on-the-test) - + [Stopping a Test](#stopping-a-test) - + [Code Generation](#code-generation) - * [Profiling your Simulator Test](#profiling-your-simulator-test) - * [GC analysis](#gc-analysis) - * [Reducing Fluctuations](#reducing-fluctuations) - * [Enabling Diagnostics](#enabling-diagnostics) - * [Logging](#logging) - * [Running multiple tests in parallel](#running-multiple-tests-in-parallel) - * [Various forms of testing](#various-forms-of-testing) - * [Network constraints](#network-constraints) - * [CP subsystem leader priority](#cp-subsystem-leader-priority) - * [Persistence](#persistence) - * [Running multiple clients per loadgenerator](#running-multiple-clients-per-loadgenerator-worker) + - [Writing a Simulator test](#writing-a-simulator-test) + - [Adding properties](#adding-properties) + - [ThreadState](#threadstate) + - [AfterRun and BeforeRun](#afterrun-and-beforerun) + - [Verification](#verification) + - [TearDown](#teardown) + - [Complete Lifecycle of Calls on the Test](#complete-lifecycle-of-calls-on-the-test) + - [Stopping a Test](#stopping-a-test) + - [Code Generation](#code-generation) + - [Profiling your Simulator Test](#profiling-your-simulator-test) + - [GC analysis](#gc-analysis) + - [Reducing Fluctuations](#reducing-fluctuations) + - [Enabling Diagnostics](#enabling-diagnostics) + - [Logging](#logging) + - [Running multiple tests in parallel](#running-multiple-tests-in-parallel) + - [Controlling the load generation](#controlling-the-load-generation) + - [Various forms of testing](#various-forms-of-testing) + - [Throughput testing](#throughput-testing) + - [Latency testing](#latency-testing-1) + - [Stress testing](#stress-testing) + - [Soak testing](#soak-testing) + - [Volume testing](#volume-testing) + - [Scalability testing](#scalability-testing) + - [Network constraints](#network-constraints) + - [Injecting latencies](#injecting-latencies) + - [Removing Latencies](#removing-latencies) + - [CP subsystem leader priority](#cp-subsystem-leader-priority) + - [Persistence](#persistence) + - [Running multiple clients per loadgenerator worker](#running-multiple-clients-per-loadgenerator-worker) + - [Using the clients in a test](#using-the-clients-in-a-test) - [Get Help](#get-help) # Quickstart @@ -421,7 +432,7 @@ should be conducted in. | Property | Example value | Description | |----------------------------------------|------------------|---------------------------------------------------------------------------------------------------------------------------------------------| -| `name` | `read_only` | The name of the test suite (overriden by test-specific values) | +| `name` | `read_only` | The name of the test suite (overridden by test-specific values) | | `repetitions` | `1` | The number of times this test suite should run (1 or more) | | `duration` | `300s` | The amount of time this test suite should run for (45m, 1h, 2d, etc.) | | `clients` | `1` | The number of loadgenerator workers to use in this test suite (hosted on `loadgenerator_hosts` | @@ -528,7 +539,7 @@ and preload 1 million entries with a value size of exactly 10 KB, we would edit ```yaml test: - class: com.hazelcast.simulator.tests.map.IntByteMapTest - # probabilites and thread count settings + # probabilities and thread count settings minSize: 10_000 maxSize: 10_000 keyCount: 1_000_000 @@ -1044,7 +1055,7 @@ The `config` object can be configured as shown below: ```yaml test: - class: example.SomeTest - config.nestedConfig.valu: 1000 + config.nestedConfig.value: 1000 ``` If a property is not used in a test, the test fails during its startup. The reason is that if you would make a typing @@ -1703,7 +1714,7 @@ When testing the throughput, results are constrained by factors including CPU, m Therefore, it's crucial to know these constraints and analyse the test results in their context. Cloud providers specify the availability of CPU and memory for different instance types, -howeveer they are much less verbose on network-related limits. +however they are much less verbose on network-related limits. There are two main limitations in play related to network resources: bandwidth (bits/s) and packet count (packets/s). Hazelcast-simulator contains a tool that allows measuring the limits of bandwidth and packet count, based on `iperf3`. diff --git a/java/archetype/src/main/resources/archetype-resources/workdir/agents.txt b/java/archetype/src/main/resources/archetype-resources/workdir/agents.txt index c6bcedf810..47520d661e 100644 --- a/java/archetype/src/main/resources/archetype-resources/workdir/agents.txt +++ b/java/archetype/src/main/resources/archetype-resources/workdir/agents.txt @@ -1,2 +1,2 @@ -# Agents go here. In case of a static configuration, add the ip address of each machine on a seperate line. +# Agents go here. In case of a static configuration, add the ip address of each machine on a separate line. # For a local setup nothing needs \ No newline at end of file diff --git a/java/drivers/driver-hazelcast4plus/conf/worker.sh b/java/drivers/driver-hazelcast4plus/conf/worker.sh index 5a9758c750..f2bca9dbdf 100644 --- a/java/drivers/driver-hazelcast4plus/conf/worker.sh +++ b/java/drivers/driver-hazelcast4plus/conf/worker.sh @@ -56,7 +56,7 @@ while IFS='=' read -r key value; do done < "parameters" # Determine if persistence is enabled based on mount_volume and mount_path -# If ony one is set, this is a misconfiguration and we exit to warn the user. +# If only one is set, this is a misconfiguration and we exit to warn the user. PERSISTENCE_ENABLED=false if [[ -n "${mount_volume:-}" && -n "${mount_path:-}" ]]; then PERSISTENCE_ENABLED=true diff --git a/java/drivers/driver-hazelcast4plus/src/main/java/com/hazelcast/simulator/hz/IdentifiedDataSerializableFactory.java b/java/drivers/driver-hazelcast4plus/src/main/java/com/hazelcast/simulator/hz/IdentifiedDataSerializableFactory.java index 57e9f4ca9c..346e078ce3 100644 --- a/java/drivers/driver-hazelcast4plus/src/main/java/com/hazelcast/simulator/hz/IdentifiedDataSerializableFactory.java +++ b/java/drivers/driver-hazelcast4plus/src/main/java/com/hazelcast/simulator/hz/IdentifiedDataSerializableFactory.java @@ -24,7 +24,7 @@ public class IdentifiedDataSerializableFactory implements DataSerializableFactor public static final int SAMPLE_STRING_TYPE = 1; public static final int SAMPLE_LONG_TYPE = 2; - public static final int SAMPLE_MUTLIPLE_INTS_TYPE = 3; + public static final int SAMPLE_MULTIPLE_INTS_TYPE = 3; @Override public IdentifiedDataSerializable create(int typeId) { @@ -33,7 +33,7 @@ public IdentifiedDataSerializable create(int typeId) { return new IdentifiedDataSerializablePojo(); case SAMPLE_LONG_TYPE: return new IdentifiedDataWithLongSerializablePojo(); - case SAMPLE_MUTLIPLE_INTS_TYPE: + case SAMPLE_MULTIPLE_INTS_TYPE: return new IdentifiedDataSerializableMultipleIntsPojo(); default: return null; diff --git a/java/drivers/driver-hazelcast4plus/src/main/java/com/hazelcast/simulator/hz/IdentifiedDataSerializableMultipleIntsPojo.java b/java/drivers/driver-hazelcast4plus/src/main/java/com/hazelcast/simulator/hz/IdentifiedDataSerializableMultipleIntsPojo.java index 9273e51d1d..f6fea7f6df 100644 --- a/java/drivers/driver-hazelcast4plus/src/main/java/com/hazelcast/simulator/hz/IdentifiedDataSerializableMultipleIntsPojo.java +++ b/java/drivers/driver-hazelcast4plus/src/main/java/com/hazelcast/simulator/hz/IdentifiedDataSerializableMultipleIntsPojo.java @@ -61,7 +61,7 @@ public int getFactoryId() { @Override public int getClassId() { - return IdentifiedDataSerializableFactory.SAMPLE_MUTLIPLE_INTS_TYPE; + return IdentifiedDataSerializableFactory.SAMPLE_MULTIPLE_INTS_TYPE; } @Override diff --git a/java/drivers/driver-hazelcast4plus/src/main/java/com/hazelcast/simulator/tests/topic/ITopicTest.java b/java/drivers/driver-hazelcast4plus/src/main/java/com/hazelcast/simulator/tests/topic/ITopicTest.java index 1932820c3d..ac76bcd59a 100644 --- a/java/drivers/driver-hazelcast4plus/src/main/java/com/hazelcast/simulator/tests/topic/ITopicTest.java +++ b/java/drivers/driver-hazelcast4plus/src/main/java/com/hazelcast/simulator/tests/topic/ITopicTest.java @@ -48,7 +48,7 @@ public class ITopicTest extends HazelcastTest { public int listenersPerTopic = 1; public int maxProcessingDelayNanos = 0; public int maxPublicationDelayNanos = 1000; - // the maximum period the verification process is going to wait till the correct number of messags + // the maximum period the verification process is going to wait till the correct number of messages // have been received. A negative value indicates that no verification should be done. public int maxVerificationTimeSeconds = 60; diff --git a/java/drivers/driver-hazelcast4plus/src/main/java/com/hazelcast/simulator/tests/vector/readers/NpyArchiveDatasetReader.java b/java/drivers/driver-hazelcast4plus/src/main/java/com/hazelcast/simulator/tests/vector/readers/NpyArchiveDatasetReader.java index cb5e65553e..824aa1eb85 100644 --- a/java/drivers/driver-hazelcast4plus/src/main/java/com/hazelcast/simulator/tests/vector/readers/NpyArchiveDatasetReader.java +++ b/java/drivers/driver-hazelcast4plus/src/main/java/com/hazelcast/simulator/tests/vector/readers/NpyArchiveDatasetReader.java @@ -20,7 +20,7 @@ public class NpyArchiveDatasetReader extends DatasetReader { private Path trainDatasetFilename; - private Path testDatesetFilename; + private Path testDatasetFilename; public NpyArchiveDatasetReader(String url, String directory, boolean normalizeVector, boolean testOnly) { super(url, directory, normalizeVector, testOnly); @@ -29,7 +29,7 @@ public NpyArchiveDatasetReader(String url, String directory, boolean normalizeVe @Override protected void preprocessDatasetFile() { this.trainDatasetFilename = Path.of(workingDirectory.toString(), "vectors.npy"); - this.testDatesetFilename = Path.of(workingDirectory.toString(), "tests.jsonl"); + this.testDatasetFilename = Path.of(workingDirectory.toString(), "tests.jsonl"); if (!trainDatasetFilename.toFile().exists()) { unpack(); @@ -66,7 +66,7 @@ protected void parseTrainDataset() { protected void parseTestDataset() { try { var parser = new JsonParser(); - List queryList = FileUtils.readLines(testDatesetFilename.toFile(), Charset.defaultCharset()); + List queryList = FileUtils.readLines(testDatasetFilename.toFile(), Charset.defaultCharset()); int size = queryList.size(); var searchVectors = new float[size][dimension]; var searchClosestIds = new int[size][]; diff --git a/java/simulator/src/main/java/com/hazelcast/simulator/probes/impl/HdrLatencyProbe.java b/java/simulator/src/main/java/com/hazelcast/simulator/probes/impl/HdrLatencyProbe.java index 34fdc4c2dd..a6015ae32c 100644 --- a/java/simulator/src/main/java/com/hazelcast/simulator/probes/impl/HdrLatencyProbe.java +++ b/java/simulator/src/main/java/com/hazelcast/simulator/probes/impl/HdrLatencyProbe.java @@ -76,7 +76,7 @@ public void recordValue(long latencyNanos) { // Negative values should normally not happen. // But it could happen when the clock jump or when there is an - // overflow. So lets convert it to a postive value and record it. + // overflow. So lets convert it to a positive value and record it. if (latencyNanos == Long.MIN_VALUE) { latencyNanos = HIGHEST_TRACKABLE_VALUE_NANOS; } else { diff --git a/java/simulator/src/main/java/com/hazelcast/simulator/protocol/ConnectionFactory.java b/java/simulator/src/main/java/com/hazelcast/simulator/protocol/ConnectionFactory.java index 49aa2669af..cf1c47b19b 100644 --- a/java/simulator/src/main/java/com/hazelcast/simulator/protocol/ConnectionFactory.java +++ b/java/simulator/src/main/java/com/hazelcast/simulator/protocol/ConnectionFactory.java @@ -74,7 +74,7 @@ public Connection newConnection(String brokerURL, ExceptionListener exceptionLis private String toUrl(String brokerURL) { // here we configure the 'failover' // http://activemq.apache.org/failover-transport-reference.html - // In this case we'll allow for 30 attempts with a maximum of 1 second between the attemps. + // In this case we'll allow for 30 attempts with a maximum of 1 second between the attempts. // so if we can't send in 30 seconds; give up. return "failover:(" + brokerURL + ")?initialReconnectDelay=100" + "&maxReconnectAttempts=" + maxReconnectAttempts diff --git a/java/simulator/src/test/java/com/hazelcast/simulator/worker/testcontainer/ProbabilityTest.java b/java/simulator/src/test/java/com/hazelcast/simulator/worker/testcontainer/ProbabilityTest.java index 150404fb3d..9c1ba7bfa4 100644 --- a/java/simulator/src/test/java/com/hazelcast/simulator/worker/testcontainer/ProbabilityTest.java +++ b/java/simulator/src/test/java/com/hazelcast/simulator/worker/testcontainer/ProbabilityTest.java @@ -33,7 +33,7 @@ public void test_methodProbabilitiesToMethodRatios() { } @Test - public void test_methodProbabilitiesToMethodRatios_highPricision() { + public void test_methodProbabilitiesToMethodRatios_highPrecision() { int[] ratios; ratios = methodProbabilitiesToMethodRatios(0.1, 0.9); @@ -68,7 +68,7 @@ public void test_methodProbabilitiesToMethodRatios_highPricision() { } @Test - public void test_methodProbabilitiesToMethodRatios_simplication() { + public void test_methodProbabilitiesToMethodRatios_simplification() { int[] ratios; ratios = methodProbabilitiesToMethodRatios(0.10, 0.90); diff --git a/java/simulator/src/test/java/com/hazelcast/simulator/worker/testcontainer/PropertyBindingTest.java b/java/simulator/src/test/java/com/hazelcast/simulator/worker/testcontainer/PropertyBindingTest.java index ec88174110..863b240765 100644 --- a/java/simulator/src/test/java/com/hazelcast/simulator/worker/testcontainer/PropertyBindingTest.java +++ b/java/simulator/src/test/java/com/hazelcast/simulator/worker/testcontainer/PropertyBindingTest.java @@ -41,7 +41,7 @@ public void loadAsDouble_existing() { } @Test - public void loadAsDouble_existing_wihUnderscores() { + public void loadAsDouble_existing_withUnderscores() { TestCase testCase = new TestCase("foo") .setProperty("doubleValue", "5_0d"); PropertyBinding binding = new PropertyBinding(testCase); diff --git a/src/perf_analysis_cli.py b/src/perf_analysis_cli.py index 91ea96dd88..a8e89f14b8 100755 --- a/src/perf_analysis_cli.py +++ b/src/perf_analysis_cli.py @@ -246,7 +246,7 @@ def __init__(self, argv): help="The number of permutations for the change point detection", type=int, default=100) parser.add_argument("--pvalue", nargs=1, help="The pvalue for the change point detection", type=float, default=0.05) - parser.add_argument("--n_std_treshhold", nargs=1, + parser.add_argument("--n_std_threshold", nargs=1, help="The number of standard deviations away from the mean to be considered an anomaly", type=float, default=4) parser.add_argument("-o", "--output", help="The directory to write the output", nargs=1, @@ -273,7 +273,7 @@ def __init__(self, argv): exit_with_error("pvalue can't be larger than 1") self.anomalies_per_metric = {} self.changepoints_per_metric = {} - self.n_std_treshhold = args.n_std_treshhold + self.n_std_threshold = args.n_std_threshold self.trim() self.changepoint_detection() @@ -340,7 +340,7 @@ def make_plots(self): def anomaly_detection(self): info("Anomaly detection") for metric, ts in self.ts_per_metric.items(): - aps = anomaly_detection(ts, min_history_length=10, max_n=self.n_std_treshhold) + aps = anomaly_detection(ts, min_history_length=10, max_n=self.n_std_threshold) self.anomalies_per_metric[metric] = aps def changepoint_detection(self): diff --git a/src/simulator/perftest_report_common.py b/src/simulator/perftest_report_common.py index bd19ac9eb4..5cff310ca7 100644 --- a/src/simulator/perftest_report_common.py +++ b/src/simulator/perftest_report_common.py @@ -51,8 +51,8 @@ def __init__(self, report_dir): class ColumnDesc: - seperator = "::" - kv_seperator = "==" + separator = "::" + kv_separator = "==" def __init__(self, group, metric, attributes=None): if attributes is None: @@ -62,22 +62,22 @@ def __init__(self, group, metric, attributes=None): self.attributes = attributes def to_string(self): - result = f"{self.group}{ColumnDesc.seperator}{self.metric_id}" + result = f"{self.group}{ColumnDesc.separator}{self.metric_id}" if self.attributes is not None: for key, value in self.attributes.items(): if not value is None: - result = result + f"{ColumnDesc.seperator}{key}{ColumnDesc.kv_seperator}{value}" + result = result + f"{ColumnDesc.separator}{key}{ColumnDesc.kv_separator}{value}" return result @staticmethod def from_string(column_name): - args = column_name.split(ColumnDesc.seperator) + args = column_name.split(ColumnDesc.separator) group = args[0] metric = args[1] attributes = {} for k in range(2, len(args)): - pair = args[k].split(ColumnDesc.kv_seperator) + pair = args[k].split(ColumnDesc.kv_separator) attributes[pair[0]] = pair[1] return ColumnDesc(group, metric, attributes) diff --git a/templates/hazelcast5-cp-ec2/inventory_plan.yaml b/templates/hazelcast5-cp-ec2/inventory_plan.yaml index df1f7d871f..f9eed3829e 100644 --- a/templates/hazelcast5-cp-ec2/inventory_plan.yaml +++ b/templates/hazelcast5-cp-ec2/inventory_plan.yaml @@ -26,9 +26,9 @@ nodes: count: 3 instance_type: c5.4xlarge # default AWS AMI - # ami: ami-05cafdf7c9f772ad2 + # ami: ami-0083ee179c14acc6a # ubuntu - ami: ami-0d527b8c289b4af7f + ami: ami-0083ee179c14acc6a user: ubuntu tenancy: null @@ -36,9 +36,9 @@ loadgenerators: count: 1 instance_type: c5.4xlarge # default AWS AMI - # ami: ami-05cafdf7c9f772ad2 + # ami: ami-0083ee179c14acc6a # ubuntu - ami: ami-0d527b8c289b4af7f + ami: ami-0083ee179c14acc6a user: ubuntu tenancy: null @@ -46,8 +46,8 @@ mc: instance_type: c5.4xlarge count: 1 # default AWS AMI - # ami: ami-05cafdf7c9f772ad2 + # ami: ami-0083ee179c14acc6a # ubuntu - ami: ami-0d527b8c289b4af7f + ami: ami-0083ee179c14acc6a user: ubuntu tenancy: null diff --git a/templates/hazelcast5-ec2/inventory_plan.yaml b/templates/hazelcast5-ec2/inventory_plan.yaml index 8537e2825a..132a09d96e 100644 --- a/templates/hazelcast5-ec2/inventory_plan.yaml +++ b/templates/hazelcast5-ec2/inventory_plan.yaml @@ -25,20 +25,20 @@ keypair: nodes: count: 1 instance_type: c5.9xlarge - ami: ami-04e601abe3e1a910f + ami: ami-0083ee179c14acc6a user: ubuntu tenancy: null loadgenerators: count: 1 instance_type: c5.9xlarge - ami: ami-04e601abe3e1a910f + ami: ami-0083ee179c14acc6a user: ubuntu tenancy: null mc: instance_type: c5.4xlarge count: 0 - ami: ami-04e601abe3e1a910f + ami: ami-0083ee179c14acc6a user: ubuntu tenancy: null diff --git a/templates/hazelcast5-hd-ec2/inventory_plan.yaml b/templates/hazelcast5-hd-ec2/inventory_plan.yaml index e08df98fac..f7d39758c0 100644 --- a/templates/hazelcast5-hd-ec2/inventory_plan.yaml +++ b/templates/hazelcast5-hd-ec2/inventory_plan.yaml @@ -26,10 +26,10 @@ nodes: count: 1 instance_type: c5.4xlarge # default AWS AMI - # ami: ami-05cafdf7c9f772ad2 + # ami: ami-0083ee179c14acc6a # user: ec2-user # ubuntu - ami: ami-04e601abe3e1a910f + ami: ami-0083ee179c14acc6a user: ubuntu tenancy: null @@ -37,10 +37,10 @@ loadgenerators: count: 1 instance_type: c5.4xlarge # default AWS AMI - # ami: ami-05cafdf7c9f772ad2 + # ami: ami-0083ee179c14acc6a # user: ec2-user # ubuntu - ami: ami-04e601abe3e1a910f + ami: ami-0083ee179c14acc6a user: ubuntu tenancy: null @@ -48,9 +48,9 @@ mc: instance_type: c5.4xlarge count: 1 # default AWS AMI - # ami: ami-05cafdf7c9f772ad2 + # ami: ami-0083ee179c14acc6a # user: ec2-user # ubuntu - ami: ami-04e601abe3e1a910f + ami: ami-0083ee179c14acc6a user: ubuntu tenancy: null \ No newline at end of file diff --git a/templates/hazelcast5-sql-ec2-tstore/inventory_plan.yaml b/templates/hazelcast5-sql-ec2-tstore/inventory_plan.yaml index b87c7fceb9..8a801c209b 100644 --- a/templates/hazelcast5-sql-ec2-tstore/inventory_plan.yaml +++ b/templates/hazelcast5-sql-ec2-tstore/inventory_plan.yaml @@ -21,19 +21,19 @@ keypair: nodes: count: 1 instance_type: i3.xlarge - ami: ami-04505e74c0741db8d + ami: ami-034568121cfdea9c3 user: ubuntu tenancy: null loadgenerators: count: 1 instance_type: c5.2xlarge - ami: ami-04505e74c0741db8d + ami: ami-034568121cfdea9c3 user: ubuntu tenancy: null mc: instance_type: c5.4xlarge count: 1 - ami: ami-04505e74c0741db8d + ami: ami-034568121cfdea9c3 user: ubuntu diff --git a/templates/hazelcast5-sql-ec2/inventory_plan.yaml b/templates/hazelcast5-sql-ec2/inventory_plan.yaml index 030fd4590e..67ef949f61 100644 --- a/templates/hazelcast5-sql-ec2/inventory_plan.yaml +++ b/templates/hazelcast5-sql-ec2/inventory_plan.yaml @@ -23,19 +23,19 @@ keypair: nodes: count: 4 instance_type: c5.9xlarge - ami: ami-04e601abe3e1a910f + ami: ami-0083ee179c14acc6a user: ubuntu tenancy: null loadgenerators: count: 1 instance_type: c5.9xlarge - ami: ami-04e601abe3e1a910f + ami: ami-0083ee179c14acc6a user: ubuntu tenancy: null mc: instance_type: c5.4xlarge count: 0 - ami: ami-04e601abe3e1a910f + ami: ami-0083ee179c14acc6a user: ubuntu diff --git a/templates/hazelcast5-sql-prunability-ec2/inventory_plan.yaml b/templates/hazelcast5-sql-prunability-ec2/inventory_plan.yaml index cdc7079f29..cf3c0fc77a 100644 --- a/templates/hazelcast5-sql-prunability-ec2/inventory_plan.yaml +++ b/templates/hazelcast5-sql-prunability-ec2/inventory_plan.yaml @@ -23,19 +23,19 @@ keypair: nodes: count: 5 instance_type: c5.9xlarge - ami: ami-04e601abe3e1a910f + ami: ami-0083ee179c14acc6a user: ubuntu tenancy: null loadgenerators: count: 1 instance_type: c5.4xlarge - ami: ami-04e601abe3e1a910f + ami: ami-0083ee179c14acc6a user: ubuntu tenancy: null mc: instance_type: c5.4xlarge count: 0 - ami: ami-04e601abe3e1a910f + ami: ami-0083ee179c14acc6a user: ubuntu diff --git a/templates/hazelcast5-storage-ec2/inventory_plan.yaml b/templates/hazelcast5-storage-ec2/inventory_plan.yaml index 09ea52dbb9..c6aedf1998 100644 --- a/templates/hazelcast5-storage-ec2/inventory_plan.yaml +++ b/templates/hazelcast5-storage-ec2/inventory_plan.yaml @@ -25,10 +25,10 @@ nodes: count: 1 instance_type: i3en.2xlarge # default AWS AMI - # ami: ami-05cafdf7c9f772ad2 + # ami: ami-0083ee179c14acc6a # user: ec2-user # ubuntu - ami: ami-04e601abe3e1a910f + ami: ami-0083ee179c14acc6a user: ubuntu placement_group: None tenancy: null @@ -37,10 +37,10 @@ loadgenerators: count: 2 instance_type: c5.4xlarge # default AWS AMI - # ami: ami-05cafdf7c9f772ad2 + # ami: ami-0083ee179c14acc6a # user: ec2-user # ubuntu - ami: ami-04e601abe3e1a910f + ami: ami-0083ee179c14acc6a user: ubuntu placement_group: None tenancy: null @@ -49,10 +49,10 @@ mc: instance_type: c5.4xlarge count: 0 # default AWS AMI - # ami: ami-05cafdf7c9f772ad2 + # ami: ami-0083ee179c14acc6a # user: ec2-user # ubuntu - ami: ami-04e601abe3e1a910f + ami: ami-0083ee179c14acc6a user: ubuntu placement_group: None tenancy: null diff --git a/templates/hazelcast5-tls-ec2/inventory_plan.yaml b/templates/hazelcast5-tls-ec2/inventory_plan.yaml index 39506a9604..efa39af24d 100644 --- a/templates/hazelcast5-tls-ec2/inventory_plan.yaml +++ b/templates/hazelcast5-tls-ec2/inventory_plan.yaml @@ -25,20 +25,20 @@ keypair: nodes: count: 1 instance_type: c5.9xlarge - ami: ami-0f9de6e2d2f067fca + ami: ami-034568121cfdea9c3 user: ubuntu tenancy: null loadgenerators: count: 1 instance_type: c5.9xlarge - ami: ami-0f9de6e2d2f067fca + ami: ami-034568121cfdea9c3 user: ubuntu tenancy: null mc: instance_type: c5.4xlarge count: 0 - ami: ami-0f9de6e2d2f067fca + ami: ami-034568121cfdea9c3 user: ubuntu tenancy: null From 01884b75ed384e7c50e2d2a36a2b966c1a6d1a50 Mon Sep 17 00:00:00 2001 From: atilsensalduz Date: Tue, 29 Jul 2025 16:33:25 +0100 Subject: [PATCH 2/2] chore: update AMI IDs to newer OS version and fix typos - Replaced deprecated AMI IDs with updated ones based on the supported OS version - Fixed minor typos Signed-off-by: atilsensalduz --- README.md | 109 ++++++++++++++++++++++++------------------------------ 1 file changed, 49 insertions(+), 60 deletions(-) diff --git a/README.md b/README.md index d44f84d8c5..01bd8a9208 100644 --- a/README.md +++ b/README.md @@ -24,73 +24,62 @@ Hazelcast Simulator is available as a downloadable package on the Hazelcast website. Please refer to the [Quickstart](#quickstart) to start your Simulator journey. -- [Hazelcast Simulator](#hazelcast-simulator) - [Quickstart](#quickstart) - - [Install](#install) - - [Creating a benchmark](#creating-a-benchmark) - - [Provisioning the environment](#provisioning-the-environment) - - [SSH to nodes](#ssh-to-nodes) - - [Running a test.](#running-a-test) - - [What's next](#whats-next) + * [Install](#install) + * [Creating a benchmark](#creating-a-benchmark) + * [Provisioning the environment](#provisioning-the-environment) + * [SSH to nodes](#ssh-to-nodes) + * [Running a test.](#running-a-test) + * [What's next](#whats-next) - [Key Concepts and Terminology](#key-concepts-and-terminology) - [Define test scenario](#define-test-scenario) - - [TestSuite configuration](#testsuite-configuration) - - [Specify the test environment and non-class-specific parameters](#specify-the-test-environment-and-non-class-specific-parameters) - - [Specify test class(es) and number of threads per worker](#specify-test-classes-and-number-of-threads-per-worker) - - [Setting up operations frequency](#setting-up-operations-frequency) - - [Configuring parameters](#configuring-parameters) - - [Latency Testing](#latency-testing) - - [Controlling the Cluster Layout](#controlling-the-cluster-layout) - - [Set number of members and clients](#set-number-of-members-and-clients) - - [Control distribution of workers over machines](#control-distribution-of-workers-over-machines) - - [Default distribution algorithm](#default-distribution-algorithm) - - [Reserving machines for members only](#reserving-machines-for-members-only) - - [Order of the IP addresses](#order-of-the-ip-addresses) - - [Running tests against an already running cluster](#running-tests-against-an-already-running-cluster) - - [Running tests against a cluster in Hazelcast Cloud](#running-tests-against-a-cluster-in-hazelcast-cloud) - - [Controlling the Hazelcast Configuration](#controlling-the-hazelcast-configuration) - - [IP addresses and other configuration auto-filling](#ip-addresses-and-other-configuration-auto-filling) + * [TestSuite configuration](#testsuite-configuration) + + [Specify the test environment and non-class-specific parameters](#specify-the-test-environment-and-non-class-specific-parameters) + + [Specify test class(es) and number of threads per worker](#specify-test-classes-and-number-of-threads-per-worker) + + [Setting up operations frequency](#setting-up-operations-frequency) + + [Configuring parameters](#configuring-parameters) + + [Latency Testing](#latency-testing) + * [Controlling the Cluster Layout](#controlling-the-cluster-layout) + + [Set number of members and clients](#set-number-of-members-and-clients) + + [Control distribution of workers over machines](#control-distribution-of-workers-over-machines) + - [Default distribution algorithm](#default-distribution-algorithm) + - [Reserving machines for members only](#reserving-machines-for-members-only) + * [Order of the IP addresses](#order-of-the-ip-addresses) + + [Running tests against an already running cluster](#running-tests-against-an-already-running-cluster) + + [Running tests against a cluster in Hazelcast Cloud](#running-tests-against-a-cluster-in-hazelcast-cloud) + * [Controlling the Hazelcast Configuration](#controlling-the-hazelcast-configuration) + + [IP addresses and other configuration auto-filling](#ip-addresses-and-other-configuration-auto-filling) - [Run the test](#run-the-test) - - [Configure test duration](#configure-test-duration) - - [Specify TestSuite file to be used](#specify-testsuite-file-to-be-used) - - [Installing Simulator on remote machines](#installing-simulator-on-remote-machines) + * [Configure test duration](#configure-test-duration) + * [Specify TestSuite file to be used](#specify-testsuite-file-to-be-used) + * [Installing Simulator on remote machines](#installing-simulator-on-remote-machines) - [Report generation](#report-generation) - - [Basics](#basics) - - [Generate comparison reports](#generate-comparison-reports) - - [Extensive reports](#extensive-reports) - - [Warmup and cooldown](#warmup-and-cooldown) + * [Basics](#basics) + * [Generate comparison reports](#generate-comparison-reports) + * [Extensive reports](#extensive-reports) + * [Warmup and cooldown](#warmup-and-cooldown) - [Simulator Properties reference](#simulator-properties-reference) - [Advanced topics](#advanced-topics) - - [Writing a Simulator test](#writing-a-simulator-test) - - [Adding properties](#adding-properties) - - [ThreadState](#threadstate) - - [AfterRun and BeforeRun](#afterrun-and-beforerun) - - [Verification](#verification) - - [TearDown](#teardown) - - [Complete Lifecycle of Calls on the Test](#complete-lifecycle-of-calls-on-the-test) - - [Stopping a Test](#stopping-a-test) - - [Code Generation](#code-generation) - - [Profiling your Simulator Test](#profiling-your-simulator-test) - - [GC analysis](#gc-analysis) - - [Reducing Fluctuations](#reducing-fluctuations) - - [Enabling Diagnostics](#enabling-diagnostics) - - [Logging](#logging) - - [Running multiple tests in parallel](#running-multiple-tests-in-parallel) - - [Controlling the load generation](#controlling-the-load-generation) - - [Various forms of testing](#various-forms-of-testing) - - [Throughput testing](#throughput-testing) - - [Latency testing](#latency-testing-1) - - [Stress testing](#stress-testing) - - [Soak testing](#soak-testing) - - [Volume testing](#volume-testing) - - [Scalability testing](#scalability-testing) - - [Network constraints](#network-constraints) - - [Injecting latencies](#injecting-latencies) - - [Removing Latencies](#removing-latencies) - - [CP subsystem leader priority](#cp-subsystem-leader-priority) - - [Persistence](#persistence) - - [Running multiple clients per loadgenerator worker](#running-multiple-clients-per-loadgenerator-worker) - - [Using the clients in a test](#using-the-clients-in-a-test) + * [Writing a Simulator test](#writing-a-simulator-test) + + [Adding properties](#adding-properties) + + [ThreadState](#threadstate) + + [AfterRun and BeforeRun](#afterrun-and-beforerun) + + [Verification](#verification) + + [TearDown](#teardown) + + [Complete Lifecycle of Calls on the Test](#complete-lifecycle-of-calls-on-the-test) + + [Stopping a Test](#stopping-a-test) + + [Code Generation](#code-generation) + * [Profiling your Simulator Test](#profiling-your-simulator-test) + * [GC analysis](#gc-analysis) + * [Reducing Fluctuations](#reducing-fluctuations) + * [Enabling Diagnostics](#enabling-diagnostics) + * [Logging](#logging) + * [Running multiple tests in parallel](#running-multiple-tests-in-parallel) + * [Various forms of testing](#various-forms-of-testing) + * [Network constraints](#network-constraints) + * [CP subsystem leader priority](#cp-subsystem-leader-priority) + * [Persistence](#persistence) + * [Running multiple clients per loadgenerator](#running-multiple-clients-per-loadgenerator-worker) - [Get Help](#get-help) # Quickstart