Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

dynamo_benchmark-1.0.1-cp314-cp314-manylinux_2_28_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

dynamo_benchmark-1.0.1-cp313-cp313-manylinux_2_28_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

dynamo_benchmark-1.0.1-cp312-cp312-manylinux_2_28_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

dynamo_benchmark-1.0.1-cp311-cp311-manylinux_2_28_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

dynamo_benchmark-1.0.1-cp310-cp310-manylinux_2_28_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

dynamo_benchmark-1.0.1-cp39-cp39-manylinux_2_28_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

File details

Details for the file dynamo_benchmark-1.0.1-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dynamo_benchmark-1.0.1-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e17920d84893c053f1eeb2a1746ef98ee45640e18135a71b31ecf5cee690df8a
MD5 951e3c9a78b8771220bb540f9106893c
BLAKE2b-256 75a811ffc0555522b246b62705ea4a6eea1e919ff4cc005ef6b3623147edf200

See more details on using hashes here.

File details

Details for the file dynamo_benchmark-1.0.1-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dynamo_benchmark-1.0.1-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f6834149ba9119cb9a2b6d7334c92a2d2b6aa45d6a3db97511456a07288bb361
MD5 aa7aa8f48eda3c1d8035eca5c1e231b0
BLAKE2b-256 64899db11bdf17ad17846d6b44e928f4efc80f5eea63c81ded8ea25e987dfc5a

See more details on using hashes here.

File details

Details for the file dynamo_benchmark-1.0.1-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dynamo_benchmark-1.0.1-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 557d97a7000cc0b7f31969044fc975bea8c0c531af6a61f8568cd3096b1288a7
MD5 8a0bbb5e215a2776a9c371a0e576d761
BLAKE2b-256 30c71dcbb72652309bb47fd42ce5373e4932d7ca73d72bc4ff94f6ec79e02f3c

See more details on using hashes here.

File details

Details for the file dynamo_benchmark-1.0.1-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dynamo_benchmark-1.0.1-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b5165ead24f66d2b68c7bd33c19417cabc0f0ff047ae0cd43124e42f15b72546
MD5 bd9c8723a1d881d66971a5ad4412ff13
BLAKE2b-256 367844abafd6d42c3adf7533d7946f3d8ed7bec27a6ae68fd0bc7f49b8962028

See more details on using hashes here.

File details

Details for the file dynamo_benchmark-1.0.1-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dynamo_benchmark-1.0.1-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dd7b837b12cef80e83581c6d43e6a6dbaf2e1ea62bb84c2985c92073544b1556
MD5 6d7a3412e7b437e6e09f3798f75f59ea
BLAKE2b-256 8db45d634daf4658071b98114c292e8789b7748d63a01c9b34e713bd84556c24

See more details on using hashes here.

File details

Details for the file dynamo_benchmark-1.0.1-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dynamo_benchmark-1.0.1-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d9543414a75bbc15258679d52cb530b2feb70e435e40de8c162db418acb91124
MD5 b152bd3e8aa4bea686e59fe0ae799b6d
BLAKE2b-256 d2423d481e66591377501634f2bd1192142d707005f9d274a3be2926ad49ae71

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page