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.2-cp314-cp314-manylinux_2_28_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

dynamo_benchmark-1.0.2-cp313-cp313-manylinux_2_28_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

dynamo_benchmark-1.0.2-cp312-cp312-manylinux_2_28_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

dynamo_benchmark-1.0.2-cp311-cp311-manylinux_2_28_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

dynamo_benchmark-1.0.2-cp310-cp310-manylinux_2_28_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

dynamo_benchmark-1.0.2-cp39-cp39-manylinux_2_28_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

File details

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

File metadata

File hashes

Hashes for dynamo_benchmark-1.0.2-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 705dd4c8b8235b17a8bfc1f2ee7f5cafba35c8555382305eec65c3a48c90a2ac
MD5 9b57644dcccf2e4c67f758cbc83d17c0
BLAKE2b-256 637e978fd1587b4aa1ee7960ac53019e57ee42dfb71991d6e827662c92e6d47b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dynamo_benchmark-1.0.2-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a854bce0b46ff9e28dd1137d9375bd262af79d1e9fc29574bf8aa26526febdd6
MD5 e4bf318b9baec758ed86746949e4d767
BLAKE2b-256 aeb1ecdfb2d975f4290eb7e02d5ca980bdcebf0ade9727d1adb0112dcfa5f19a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dynamo_benchmark-1.0.2-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 421799a923a747449b7ea92251d6747f2c61029107aec1f9069b7ca6946a1e3d
MD5 ca41deb491e157f8a447b50c7a5db755
BLAKE2b-256 07fbdbd1b8d67c275087b1ed26b9d6d8b46f68106d321aac0678d03070eb1662

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dynamo_benchmark-1.0.2-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d433b6b8035bac35b7241ca1ff81c4301b358933dd798d4d21a03a1381755b09
MD5 5bfd72c6bba34d5480cb10508b795b63
BLAKE2b-256 9ed6497ddb0d8593b5fe43d284adebc4110a2904fdefb0226a12614af0f3c69d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dynamo_benchmark-1.0.2-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 621ba0d0113c0f81fa40905f1236c095e4d2cebdf3a9f4cf989cbdb374b058f8
MD5 7b09343d715f69d0519b1b67bb63352d
BLAKE2b-256 7636c1c5a3578f1f88c1990277b553611f5b9219017159fa4e5f241993ca9ee3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dynamo_benchmark-1.0.2-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 705b494c9b72bcb50b4f54dda028d7164c6efd8528105612c1f2358eb77e24b9
MD5 f2bc5be9c1143837ba70432646aa5106
BLAKE2b-256 4b20ef95f83eade362bed64d06d672aa77b3239c9ff1038fc3a55ec883268053

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