Skip to main content

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)

Table of built distributions (wheels) for dynamo-benchmark 1.0.2
File
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

Release history Release notifications | RSS feed

This release

1.0.2 This release

6 release files

1.0.1

6 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page