Skip to content

Commit

Permalink
Rpk self test (#599)
Browse files Browse the repository at this point in the history
Co-authored-by: Joyce Fee <102751339+Feediver1@users.noreply.github.com>
Co-authored-by: Kat Batuigas <36839689+kbatuigas@users.noreply.github.com>
  • Loading branch information
3 people committed Jul 29, 2024
1 parent 993c41e commit f3dc137
Show file tree
Hide file tree
Showing 2 changed files with 410 additions and 223 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@

Starts one or more benchmark tests on one or more nodes of the cluster.

NOTE: Redpanda self-test runs benchmarks that consume significant system resources. Do not start self-test if large workloads are already running on the system.

Available tests to run:

* *Disk tests*
Expand All @@ -14,17 +16,17 @@ Available tests to run:
** Throughput test: 8192-bit messages
*** Unique pairs of Redpanda nodes each act as a client and a server.
*** The test pushes as much data over the wire, within the test parameters.
* *Cloud tests*
* *Cloud storage tests*
** Latency test: 1024-bit object.
** Depending on cluster read/write permissions (xref:reference:properties/object-storage-properties.adoc#cloud_storage_enable_remote_read[`cloud_storage_enable_remote_read`], xref:reference:properties/object-storage-properties.adoc#cloud_storage_enable_remote_write[`cloud_storage_enable_remote_write`]), a series of cloud storage operations are performed:
*** Upload an object to an object storage.
*** List objects in the object storage.
*** Download an object from the object storage.
*** Delete the original object from the object storage, if it was uploaded.
This command immediately returns on success, and the tests run asynchronously. The
user polls for results with the xref:./rpk-cluster-self-test-status.adoc[rpk cluster self-test status]
command.
This command prompts users for confirmation (unless the flag `--no-confirm` is specified), then returns a test identifier ID, and runs the tests.

To view the test status, poll xref:./rpk-cluster-self-test-status.adoc[rpk cluster self-test status]. Once the tests end, the cached results will be available with `rpk cluster self-test status`.

== Usage

Expand All @@ -39,21 +41,27 @@ rpk cluster self-test start [flags]
|===
|*Value* |*Type* |*Description*

|--disk-duration-ms |duration |uint The in milliseconds of individual
disk test runs (default 30000).
|--cloud-backoff-ms |uint | The backoff in milliseconds for a cloud storage request (default `100`).

|--cloud-timeout-ms |uint | The timeout in milliseconds for a cloud storage request (default `5000`).

|--disk-duration-ms |uint | The duration in milliseconds of individual
disk test runs (default `30000`).

|-h, --help |- |Help for start.

|--network-duration-ms |duration |uint The in milliseconds of individual
network test runs (default 30000).
|--network-duration-ms |uint | The duration in milliseconds of individual
network test runs (default `30000`).

|--no-confirm |- |Acknowledge warning prompt skipping read from stdin.

|--only-cloud-test |- |Runs only cloud storage benchmarks.

|--only-disk-test |- |Runs only the disk benchmarks.

|--only-network-test |- |Runs only network benchmarks.

|--participant-node-ids |- |ints IDs of nodes that the tests will run
|--participant-node-ids |uints |Comma-separated list of broker IDs that the tests will run
on. If not set, tests will run for all node IDs.

|--config |string |Redpanda or `rpk` config file; default search paths are `/var/lib/redpanda/.config/rpk/rpk.yaml`, `$PWD/redpanda.yaml`, and `/etc/redpanda/redpanda.yaml`.
Expand Down
Loading

0 comments on commit f3dc137

Please sign in to comment.