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.
About Kinesis Throughput Calculator
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.
Worked example
With the default values below, Kinesis Throughput Calculator returns Shards Required of 13. Change any input above and every figure here is recalculated in your browser.
Inputs used
- Records written per secondminimum 0 records/s
- 5,000 records/s
- Average record sizeaccepts 0.1–1,024 KB
- 2 KB
- Consumer applicationsaccepts 1–20 consumers
- 2 consumers
- Use enhanced fan-out
- No
- Headroom to add for spikesaccepts 0–200 %
- 25 %
- Shard hour priceminimum 0 USD
- 0.015 USD
- Price per million PUT payload unitsminimum 0 USD
- 0.014 USD
- Enhanced fan-out consumer-shard hour priceminimum 0 USD
- 0.015 USD
Results
- Shards Required
- 13
- Ingest Throughput
- 9.77 MB/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
- 1Values used
- 2Kinesis Throughput
- 3Write metering
- 4Shards Required= 13
- 5Ingest Throughput= 9.77 MB/s
- 6Binding Constraint= Consumer read throughput at 2 MB/s per shard
- 7Shard Hour Cost= 142.35
- 8PUT Payload Unit Cost= 181.44
- 9Estimated Monthly Cost= 323.79
Assumptions and limits
- The result is derived only from the 8 inputs listed above. Anything not among them is not part of the calculation.
- In particular, this calculator does not take inflation, tax or compounding frequency into account.
- Figures are rounded for display to 2 decimal places, so totals built from several rounded parts can differ slightly from the unrounded arithmetic.
How these calculators are built and tested is described on the Methodology page. If a figure looks wrong, please report it.
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.
