High-performance benchmark tool for DynamoDB-compatible databases
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dynamo_benchmark-1.0.1-cp314-cp314-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: dynamo_benchmark-1.0.1-cp314-cp314-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 6.1 MB
- Tags: CPython 3.14, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e17920d84893c053f1eeb2a1746ef98ee45640e18135a71b31ecf5cee690df8a
|
|
| MD5 |
951e3c9a78b8771220bb540f9106893c
|
|
| BLAKE2b-256 |
75a811ffc0555522b246b62705ea4a6eea1e919ff4cc005ef6b3623147edf200
|
File details
Details for the file dynamo_benchmark-1.0.1-cp313-cp313-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: dynamo_benchmark-1.0.1-cp313-cp313-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 6.1 MB
- Tags: CPython 3.13, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f6834149ba9119cb9a2b6d7334c92a2d2b6aa45d6a3db97511456a07288bb361
|
|
| MD5 |
aa7aa8f48eda3c1d8035eca5c1e231b0
|
|
| BLAKE2b-256 |
64899db11bdf17ad17846d6b44e928f4efc80f5eea63c81ded8ea25e987dfc5a
|
File details
Details for the file dynamo_benchmark-1.0.1-cp312-cp312-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: dynamo_benchmark-1.0.1-cp312-cp312-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 6.1 MB
- Tags: CPython 3.12, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
557d97a7000cc0b7f31969044fc975bea8c0c531af6a61f8568cd3096b1288a7
|
|
| MD5 |
8a0bbb5e215a2776a9c371a0e576d761
|
|
| BLAKE2b-256 |
30c71dcbb72652309bb47fd42ce5373e4932d7ca73d72bc4ff94f6ec79e02f3c
|
File details
Details for the file dynamo_benchmark-1.0.1-cp311-cp311-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: dynamo_benchmark-1.0.1-cp311-cp311-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 6.1 MB
- Tags: CPython 3.11, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b5165ead24f66d2b68c7bd33c19417cabc0f0ff047ae0cd43124e42f15b72546
|
|
| MD5 |
bd9c8723a1d881d66971a5ad4412ff13
|
|
| BLAKE2b-256 |
367844abafd6d42c3adf7533d7946f3d8ed7bec27a6ae68fd0bc7f49b8962028
|
File details
Details for the file dynamo_benchmark-1.0.1-cp310-cp310-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: dynamo_benchmark-1.0.1-cp310-cp310-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 6.1 MB
- Tags: CPython 3.10, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dd7b837b12cef80e83581c6d43e6a6dbaf2e1ea62bb84c2985c92073544b1556
|
|
| MD5 |
6d7a3412e7b437e6e09f3798f75f59ea
|
|
| BLAKE2b-256 |
8db45d634daf4658071b98114c292e8789b7748d63a01c9b34e713bd84556c24
|
File details
Details for the file dynamo_benchmark-1.0.1-cp39-cp39-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: dynamo_benchmark-1.0.1-cp39-cp39-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 6.1 MB
- Tags: CPython 3.9, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d9543414a75bbc15258679d52cb530b2feb70e435e40de8c162db418acb91124
|
|
| MD5 |
b152bd3e8aa4bea686e59fe0ae799b6d
|
|
| BLAKE2b-256 |
d2423d481e66591377501634f2bd1192142d707005f9d274a3be2926ad49ae71
|