Tools and recipes for measuring PrisKV performance. For a quick smoke test, see the README. For server tuning, see Server Configuration.
The client ships with a benchmark tool that drives load against a running server.
./client/priskv-benchmark -a <server-address> -p 18512 \
-o set -e 1 -k 16 -v 4096 -t 20Common flags:
| Flag | Description |
|---|---|
-a ADDR |
Server address. |
-p PORT |
Server port (default 18512). |
-o OP |
Operation: set, get, etc. |
-k BYTES |
Key length. |
-v BYTES |
Value length. |
-t SECS |
Test duration. |
-e N |
Number of inflight requests per client. |
Run ./client/priskv-benchmark -h for the full list.
Requires building with PRISKV_USE_CUDA=1:
make PRISKV_USE_CUDA=1The repo ships an end-to-end CUDA/GDR example. See client/example.c for the full source covering:
- client initialization and connection
- CUDA integration for GPU Direct RDMA
- device and host buffer management
- asynchronous operations driven by
epoll
Run it:
./client/priskv-exampleRequires building with PRISKV_USE_ACL=1:
make PRISKV_USE_ACL=1Then run the standard benchmark binary; NPU-resident buffers are used when available:
./client/priskv-benchmark -a <server-address> -p 18512 \
-o set -e 1 -k 16 -v 4096 -t 20Build the bundled valkey-benchmark for a side-by-side comparison:
git submodule init && git submodule update
cd client && make valkey-benchmark
./valkey-benchmark -a 127.0.0.1 -p 6379 -o set -e 1 -k 16 -v 4096 -t 20Match the flags (-k, -v, -e, -t) when comparing to priskv-benchmark so the two runs exercise comparable workloads.