Skip to content
Calcrivo

Kinesis Throughput Calculator

Size Kinesis Data Streams shards against the 1 MB/s and 1000 record/s ingest limits and the 2 MB/s per-shard read limit.

Inputs

records/s
KB
consumers

Each enhanced fan-out consumer gets its own 2 MB/s per shard.

%
USD
USD
USD

Shards Required

13

Ingest Throughput

9.77MB/s

Binding Constraint

Consumer read throughput at 2 MB/s per shard

Shard Hour Cost

$142.35

PUT Payload Unit Cost

$181.44

Estimated Monthly Cost

$323.79

Step by step

  1. Values used

    Records written per second = 5,000 records/s; Average record size = 2 KB; Consumer applications = 2 consumers; Use enhanced fan-out = No; Headroom to add for spikes = 25 %; Shard hour price = 0.0150 USD; Price per million PUT payload units = 0.0140 USD; Enhanced fan-out consumer-shard hour price = 0.0150 USD

  2. Kinesis Throughput

    shards = max(ceil(MB/s ÷ 1), ceil(records/s ÷ 1000), ceil(consumers × MB/s ÷ 2)) × (1 + headroom), where MB/s = records/s × record KB ÷ 1024.

  3. Write metering

    PUT payload units = records/s × ceil(record KB ÷ 25) × seconds per month; small records waste most of a 25 KB unit.

  4. Shards Required

    = 13

  5. Ingest Throughput

    = 9.77 MB/s

  6. Binding Constraint

    = Consumer read throughput at 2 MB/s per shard

  7. Shard Hour Cost

    = 142.35

  8. PUT Payload Unit Cost

    = 181.44

  9. Estimated Monthly Cost

    = 323.79

How it works

Three separate limits set the shard count and the largest one wins: write bandwidth at 1 MB/s, write rate at 1000 records/s, and read bandwidth at 2 MB/s shared by all standard consumers. That third limit is the one that surprises people — adding a fourth consumer to a stream running near its read ceiling forces a reshard even though ingest has not changed. Confirm shard hour and PUT unit prices for your region. Resharding a live stream is disruptive and changes ordering guarantees for in-flight partition keys, so it is far better to size with headroom up front than to discover the read limit during a backfill.

Formulas

Kinesis Throughput

shards = max(ceil(MB/s ÷ 1), ceil(records/s ÷ 1000), ceil(consumers × MB/s ÷ 2)) × (1 + headroom), where MB/s = records/s × record KB ÷ 1024.

shard
Unit of capacity: 1 MB/s or 1000 records/s in, 2 MB/s out
PUT payload unit
25 KB of written data — a 2 KB record still bills one unit
enhanced fan-out
Dedicated 2 MB/s per consumer per shard, billed per consumer-shard hour

Write metering

PUT payload units = records/s × ceil(record KB ÷ 25) × seconds per month; small records waste most of a 25 KB unit.

Frequently Asked Questions

How is Kinesis Throughput calculated?

shards = max(ceil(MB/s ÷ 1), ceil(records/s ÷ 1000), ceil(consumers × MB/s ÷ 2)) × (1 + headroom), where MB/s = records/s × record KB ÷ 1024. Three separate limits set the shard count and the largest one wins: write bandwidth at 1 MB/s, write rate at 1000 records/s, and read bandwidth at 2 MB/s shared by all standard consumers. That third limit is the one that surprises people — adding a fourth consumer to a stream running near its read ceiling forces a reshard even though ingest has not changed. Confirm shard hour and PUT unit prices for your region.

Why does Kinesis Throughput matter?

Resharding a live stream is disruptive and changes ordering guarantees for in-flight partition keys, so it is far better to size with headroom up front than to discover the read limit during a backfill.

What values do I need to enter?

This calculator takes 8 inputs: Records written per second, Average record size, Consumer applications, Use enhanced fan-out, Headroom to add for spikes, Shard hour price, Price per million PUT payload units, Enhanced fan-out consumer-shard hour price. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.

Why do small records cost so much per byte?

Writes are metered in 25 KB PUT payload units, so a 1 KB record wastes 96% of a unit. Aggregating many small records into one larger record with the Kinesis Producer Library, or batching with PutRecords, is the standard fix and can cut the write meter by an order of magnitude.

When should I use enhanced fan-out?

When you have more than two or three consumers, or need sub-200 ms propagation. Enhanced fan-out gives each consumer its own 2 MB/s per shard so consumers stop competing, but it adds a per-consumer-shard-hour charge that grows with both the consumer count and the shard count.

You might also need