Skip to content

Update Benchmark topic with latest valkey-benchmark.c changes#441

Open
Andriciuc wants to merge 7 commits into
valkey-io:mainfrom
Andriciuc:update-benchmark-doc-v2
Open

Update Benchmark topic with latest valkey-benchmark.c changes#441
Andriciuc wants to merge 7 commits into
valkey-io:mainfrom
Andriciuc:update-benchmark-doc-v2

Conversation

@Andriciuc
Copy link
Copy Markdown
Contributor

This PR focuses on updating the benchmark.md chapter from #414 and using the latest updated valkey-benchmark.c file from valkey-io/valkey#2823.

First commit changes:

add --duration and --warmup options
move --seed in correct option place
add two examples based on --duration, --warmup and --rps

Replaces #435

Andriciuc added 4 commits May 19, 2026 12:41
This PR focuses on updating the benchmark.md chapter from valkey-io#414 and using the latest updated valkey-benchmark.c file from #2823.

First commit changes:
- add --duration and --warmup options
- move --seed in correct option place
- add two examples based on --duration, --warmup and --rps

Signed-off-by: Dragos Andriciuc <andriciucdragos@protonmail.com>
This PR focuses on updating the benchmark.md chapter from valkey-io#414 and using the latest updated valkey-benchmark.c file from #2823.

First commit changes:

add --duration and --warmup options
move --seed in correct option place
add two examples based on --duration, --warmup and --rps

Replaces valkey-io#435

Signed-off-by: Dragos Andriciuc <andriciucdragos@protonmail.com>
Also remove artifactfor $ valkey-benchmark from docs

Signed-off-by: Dragos Andriciuc <andriciucdragos@protonmail.com>
- Add missing options: --duration, --warmup, --rps, --sequential,  --num-functions, --num-keys-in-fcall, --dataset, --maxdocs,  --fuzz, --fuzz-mode, --fuzz-loglevel
- Add missing placeholders: __rand_1st__ through __rand_9th__, __field:name__
- Fix --rand_int__ description: multiple occurrences per command
  get different values
- Fix -r description: "expand" -> "replace"
- Fix --precision default value: 0 -> 3
- Add examples for --warmup/--duration, --rps, and --dataset
- Remove C source artifacts from transaction example and keyspace output

Signed-off-by: Dragos Andriciuc <andriciucdragos@protonmail.com>
@Andriciuc
Copy link
Copy Markdown
Contributor Author

The following changes have been done to the benchmarking chapter:

For Placeholders (Description section):

  • rand_int: Added note that multiple occurrences within a single command each get different values
  • Added rand_1st through rand_9th — same-value placeholders with independent counters
  • Added field:name — dataset field substitution, requires --dataset

New options added:

  • --duration — time-based benchmark run, mutually exclusive with -n
  • --warmup — pre-benchmark warmup period, stats discarded
  • --sequential — sequential key replacement modifier for -r
  • --rps — request rate limiter using token bucket algorithm
  • --rfr — read-from-replica mode for cluster benchmarks
  • --num-functions — controls function_load test (default 10)
  • --num-keys-in-fcall — controls fcall test (default 1)
  • --dataset — CSV/TSV file for field placeholder substitution
  • --maxdocs — limits records loaded from dataset
  • --fuzz — random command generation (testing only)
  • --fuzz-mode — fuzzing modes: malformed-commands, config-commands
  • --fuzz-loglevel — fuzzer log verbosity
  • --rdma — RDMA connection support
  • --mptcp — Multipath TCP support

Existing option corrections:

  • -r: "expand" → "replace"; added per-occurrence behavior note
  • --precision: default corrected from 0 to 3

Examples:

  • Added time-based benchmark example (--warmup, --duration)
  • Added rate-limited benchmark example (--rps)
  • Added dataset benchmark example (--dataset, field:name)
  • Removed \n\n"); C source artifact from transaction example

Keyspace output block:

  • Removed backtick artifacts around <= in the sample output

Andriciuc added 3 commits May 25, 2026 12:40
Signed-off-by: Dragos Andriciuc <andriciucdragos@protonmail.com>
Signed-off-by: Dragos Andriciuc <andriciucdragos@protonmail.com>
Signed-off-by: Dragos Andriciuc <andriciucdragos@protonmail.com>
@Andriciuc Andriciuc marked this pull request as ready for review May 25, 2026 12:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant