DynamoDB Benchmark Tool
High-performance benchmark tool for DynamoDB-compatible databases.
Installation
pip install maturin
maturin develop --release
Usage
dynamo-benchmark -e <endpoint> -ak <credentials> <table> <operation> <field>...
Examples
# HTTPS
dynamo-benchmark -e "https://example.com:6379" -ak "user:pass" mytable PutItem \
"pk:S:{Key uniform 10000}" "sk:S:{Key sequence 1000}" -c 64 -s 10
# HTTP (local)
dynamo-benchmark -e "http://127.0.0.1:7000" -ak "aurora:abc" MyTable PutItem \
"pk:S:{Key uniform 10000}" -c 32 -s 5
# GetItem
dynamo-benchmark -e "https://example.com:6379" -ak "user:pass" mytable GetItem \
"pk:S:{Key uniform 1000}" "sk:S:{Key uniform 100}" -c 32
# With QPS limit
dynamo-benchmark -e "https://example.com:6379" -ak "user:pass" mytable PutItem \
"pk:S:{Key uniform 10000}" --qps 10000 -c 64
# Binary payload + timestamp
dynamo-benchmark -e "https://example.com:6379" -ak "user:pass" mytable PutItem \
"pk:S:user_{Key uniform 1000}" "data:B:{Value 16}" "ttl:N:{Timestamp 86400}" -c 64
Options
| Option | Description |
|---|---|
-e, --endpoint-url |
Endpoint URL (http:// or https://) |
-ak |
Credentials: user:password |
-c, --connections |
Connections (default: cores × 16) |
-s, --seconds |
Duration in seconds (0 = unlimited) |
--qps |
Target QPS (0 = unlimited) |
--cores |
CPU cores: 0-3 or 0,2,4,6 |
Field Specification
Format: name:type:template
Types: S (String), N (Number), B (Binary)
Templates:
| Template | Description |
|---|---|
{Key uniform N} |
Random key in [0, N) |
{Key sequence N} |
Sequential: 0, 1, ..., N-1, 0, 1, ... |
{Value N} |
N bytes random binary (type B) |
{Timestamp N} |
Unix timestamp + N seconds (type N) |
Examples:
| Template | Field | Type | Example |
|---|---|---|---|
{Key uniform 1000} |
pk | S | 00000000000003e8 |
user_{Key uniform 1000} |
pk | S | user_00000000000003e8 |
{Value 16} |
data | B | a3f2b1c8d4e5... |
{Timestamp 86400} |
ttl | N | 1735689600 |
Operations
| Operation | Description |
|---|---|
PutItem |
Write |
GetItem |
Read |
License
MIT
Metadata
Release files for dynamo-benchmark 1.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| dynamo_benchmark-1.0.2-cp314-cp314-manylinux_2_28_x86_64.whl | CPython 3.14 | CPython 3.14 | Linux glibc 2.28+ x86-64 | Details |
| dynamo_benchmark-1.0.2-cp313-cp313-manylinux_2_28_x86_64.whl | CPython 3.13 | CPython 3.13 | Linux glibc 2.28+ x86-64 | Details |
| dynamo_benchmark-1.0.2-cp312-cp312-manylinux_2_28_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.28+ x86-64 | Details |
| dynamo_benchmark-1.0.2-cp311-cp311-manylinux_2_28_x86_64.whl | CPython 3.11 | CPython 3.11 | Linux glibc 2.28+ x86-64 | Details |
| dynamo_benchmark-1.0.2-cp310-cp310-manylinux_2_28_x86_64.whl | CPython 3.10 | CPython 3.10 | Linux glibc 2.28+ x86-64 | Details |
| dynamo_benchmark-1.0.2-cp39-cp39-manylinux_2_28_x86_64.whl | CPython 3.9 | CPython 3.9 | Linux glibc 2.28+ x86-64 | Details |
Total release size: 30.4 MB
Release files / dynamo_benchmark-1.0.2-cp314-cp314-manylinux_2_28_x86_64.whl
| Download URL | dynamo_benchmark-1.0.2-cp314-cp314-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 5.1 MB |
| Tags | CPython 3.14 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
705dd4c8b8235b17a8bfc1f2ee7f5cafba35c8555382305eec65c3a48c90a2ac
|
|
BLAKE2b-256 checksum How to use checksums |
637e978fd1587b4aa1ee7960ac53019e57ee42dfb71991d6e827662c92e6d47b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / dynamo_benchmark-1.0.2-cp313-cp313-manylinux_2_28_x86_64.whl
| Download URL | dynamo_benchmark-1.0.2-cp313-cp313-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 5.1 MB |
| Tags | CPython 3.13 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
a854bce0b46ff9e28dd1137d9375bd262af79d1e9fc29574bf8aa26526febdd6
|
|
BLAKE2b-256 checksum How to use checksums |
aeb1ecdfb2d975f4290eb7e02d5ca980bdcebf0ade9727d1adb0112dcfa5f19a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / dynamo_benchmark-1.0.2-cp312-cp312-manylinux_2_28_x86_64.whl
| Download URL | dynamo_benchmark-1.0.2-cp312-cp312-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 5.1 MB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
421799a923a747449b7ea92251d6747f2c61029107aec1f9069b7ca6946a1e3d
|
|
BLAKE2b-256 checksum How to use checksums |
07fbdbd1b8d67c275087b1ed26b9d6d8b46f68106d321aac0678d03070eb1662
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / dynamo_benchmark-1.0.2-cp311-cp311-manylinux_2_28_x86_64.whl
| Download URL | dynamo_benchmark-1.0.2-cp311-cp311-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 5.1 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
d433b6b8035bac35b7241ca1ff81c4301b358933dd798d4d21a03a1381755b09
|
|
BLAKE2b-256 checksum How to use checksums |
9ed6497ddb0d8593b5fe43d284adebc4110a2904fdefb0226a12614af0f3c69d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / dynamo_benchmark-1.0.2-cp310-cp310-manylinux_2_28_x86_64.whl
| Download URL | dynamo_benchmark-1.0.2-cp310-cp310-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 5.1 MB |
| Tags | CPython 3.10 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
621ba0d0113c0f81fa40905f1236c095e4d2cebdf3a9f4cf989cbdb374b058f8
|
|
BLAKE2b-256 checksum How to use checksums |
7636c1c5a3578f1f88c1990277b553611f5b9219017159fa4e5f241993ca9ee3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / dynamo_benchmark-1.0.2-cp39-cp39-manylinux_2_28_x86_64.whl
| Download URL | dynamo_benchmark-1.0.2-cp39-cp39-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 5.1 MB |
| Tags | CPython 3.9 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
705b494c9b72bcb50b4f54dda028d7164c6efd8528105612c1f2358eb77e24b9
|
|
BLAKE2b-256 checksum How to use checksums |
4b20ef95f83eade362bed64d06d672aa77b3239c9ff1038fc3a55ec883268053
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|