Skip to content

lib/tapi_tool: redis/valkey server and benchmark improvements#12

Open
okt-konst wants to merge 3 commits into
ts-factory:mainfrom
okt-konst:up/tapi-redis-valkey
Open

lib/tapi_tool: redis/valkey server and benchmark improvements#12
okt-konst wants to merge 3 commits into
ts-factory:mainfrom
okt-konst:up/tapi-redis-valkey

Conversation

@okt-konst

Copy link
Copy Markdown
Collaborator

Improvements to the redis/valkey TAPI needed for valkey benchmarking:

  • redis-server: add save and server-cpulist options (snapshotting
    schedule control and CPU pinning)
  • redis-benchmark: support valkey-benchmark's duration mode and parse
    per-test results from CSV output
  • pass the save option as a separate argv element: a concatenated
    "--save " token trips redis >= 7.0.1 argv processing and the
    following option gets consumed as the save value

Commits:

  • lib/tapi_tool: add redis-server save and server-cpulist
  • lib/tapi_tool: support valkey-benchmark duration mode
  • lib/tapi_tool: pass save option as separate argv

okt-konst added 3 commits July 6, 2026 22:45
Needed to benchmark valkey the way it is run in production
experiments: persistence off (save "") and the event loop pinned
to a fixed CPU. Both directives are understood by redis >= 6 and
valkey. New fields default to NULL (omitted), so existing users
are unaffected.

Signed-off-by: Konstantin Ushakov <konstantin.ushakov@oktet.tech>
valkey-benchmark adds --duration/--warmup (time-based runs instead
of request counts) and extends --csv output with latency percentile
columns. Add the options and a CSV report parser filling new latency
fields in tapi_redis_benchmark_stat; MI-log the percentiles. The
plain-output parsing path is unchanged.

Signed-off-by: Konstantin Ushakov <konstantin.ushakov@oktet.tech>
A concatenated "--save " token with an empty value trips the
redis >= 7.0.1 argv processing: the token splits to a single word, so
the server expects the save value in the NEXT argv element, and the
"--save" compatibility special case does not match because of the
trailing space. The following option then gets consumed as the save
value (observed on a live rig as 'save "--server-cpulist 1"' -
Invalid save parameters). Separate argv elements produce the
documented CLI forms --save "" and --save "3600 1".

Signed-off-by: Konstantin Ushakov <konstantin.ushakov@oktet.tech>
@okt-konst okt-konst marked this pull request as ready for review July 6, 2026 22:53
@okt-konst

Copy link
Copy Markdown
Collaborator Author

@ol-arteman @arybchik could you please review?

@okt-konst okt-konst requested review from arybchik and ol-arteman July 6, 2026 23:18
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