Skip to main content

Benchmark-DkvStore

Synopsis​

Runs a configurable workload benchmark against a Clustron Distributed Key-Value (DKV) store.


Syntax

Benchmark-DkvStore -StoreName <string> -Profile <string> [-DurationSec <int>] [-Concurrency <int>] [-ObjectSizeBytes <int>]

Description

Benchmark-DkvStore executes a configurable workload against a Clustron store and measures overall throughput.

Unlike simple latency or throughput tests, this command simulates realistic application workloads using configurable profiles.

The benchmark runs concurrent operations for the specified duration and reports total operations and throughput.

Supported workload profiles:

Profile Behavior


ReadHeavy ~90% reads, ~10% writes WriteHeavy ~90% writes, ~10% reads Mixed ~50% reads, ~50% writes

This command is useful for:

  • evaluating cluster performance
  • testing realistic application patterns
  • validating hardware capacity
  • performance tuning

The benchmark runs until the duration expires or the user presses Ctrl+C.


Parameters

-StoreName​

Specifies the target store used for the benchmark.

Type: String
Mandatory: True

Example:

Benchmark-DkvStore -StoreName TestStore -Profile Mixed

-Profile​

Specifies the workload profile.

Type: String
Mandatory: True
Allowed values: ReadHeavy, WriteHeavy, Mixed

Example:

Benchmark-DkvStore -StoreName TestStore -Profile ReadHeavy

-DurationSec​

Specifies how long the benchmark should run.

Type: Int32
Default: 60 seconds
Range: 1 – 3600

Example:

Benchmark-DkvStore -StoreName TestStore -Profile Mixed -DurationSec 120

-Concurrency​

Specifies the number of concurrent worker tasks generating load.

Type: Int32
Default: 16
Range: 1 – 1024

Example:

Benchmark-DkvStore -StoreName TestStore -Profile Mixed -Concurrency 64

-ObjectSizeBytes​

Specifies the approximate size of the objects used during benchmarking.

Type: Int32
Default: 100 bytes
Range: 32 – 1 MB

Example:

Benchmark-DkvStore -StoreName TestStore -Profile Mixed -ObjectSizeBytes 512

Output

Returns an object describing the benchmark results.

Property Description


StoreName Target store Profile Workload profile used DurationSecRequested Requested runtime DurationSecActual Actual runtime Concurrency Number of workers ObjectSizeBytes Size of test objects TotalOperations Total operations executed OpsPerSecond Throughput (operations per second) Failures Number of failed operations

Example output:

StoreName : TestStore Profile : Mixed DurationSecRequested: 60 DurationSecActual : 60.01 Concurrency : 16 ObjectSizeBytes : 100 TotalOperations : 320000 OpsPerSecond : 5333.12 Failures : 0


Examples

Run a mixed workload benchmark​

Benchmark-DkvStore -StoreName TestStore -Profile Mixed

Run a read-heavy workload​

Benchmark-DkvStore -StoreName TestStore -Profile ReadHeavy -Concurrency 32

Run a write-heavy benchmark with larger objects​

Benchmark-DkvStore -StoreName TestStore -Profile WriteHeavy -ObjectSizeBytes 1024

Notes

  • This command generates load on the cluster and should be used carefully in production.
  • Throughput results depend heavily on hardware, network latency, and cluster size.
  • Press Ctrl+C to cancel the benchmark safely.