Firehose Buffer Calculator
Work out which Firehose buffer hint fires first, the resulting delivery latency and object size, and the 5 KB record rounding cost.
About Firehose Buffer Calculator
Firehose flushes when either hint is satisfied, whichever comes first, so on a busy stream the size hint dictates latency and on a quiet one the interval does. That single choice sets both your end-to-end freshness and your destination object size, and small objects are what make Athena and Spark queries slow. Billing rounds every record up to 5 KB, so 1 KB records cost five times what their raw volume suggests — confirm the current per-GB rate for your region. Buffer settings are the one Firehose knob that trades latency against query performance and cost simultaneously: a 1 MB buffer gives fresh data and thousands of tiny files, while a 128 MB buffer gives efficient Parquet objects and minutes of lag.
Formulas
Firehose Buffer
time to fill = buffer size MB ÷ throughput MB/s; delivery latency = min(time to fill, buffer interval); average object = throughput × delivery latency.
- buffer size hint
- 1-128 MB of buffered data that triggers a flush
- buffer interval hint
- 60-900 s that triggers a flush even if the buffer is not full
- billed KB
- Each record rounded up to the next 5 KB before the per-GB charge
5 KB record rounding
billed ingest GB = records/s × ceil(record KB ÷ 5) × 5 × seconds per month ÷ 1,048,576.
Worked example
With the default values below, Firehose Buffer Calculator returns Delivery Latency of 5. Change any input above and every figure here is recalculated in your browser.
Inputs used
- Records per secondminimum 0 records/s
- 1,000 records/s
- Average record sizeaccepts 0.1–1,024 KB
- 1 KB
- Buffer size hintaccepts 1–128 MB
- 5 MB
- Buffer interval hintaccepts 60–900 s
- 300 s
- Compressed size as a share of rawaccepts 1–100 %
- 25 %
- Firehose ingestion price per GBminimum 0 USD
- 0.029 USD
- Destination storage price per GB-monthminimum 0 USD
- 0.023 USD
Results
- Delivery Latency
- 5 s
- Buffer Hint That Fires First
- Buffer size — it fills before the interval elapses
- Objects Delivered per Hour
- 703
- Average Object Size
- 5.0 MB
- Billed Ingest per Month
- 12,359.6 GB
- Estimated Monthly Cost
- $429.50
Step by step
- 1Values used
- 2Firehose Buffer
- 35 KB record rounding
- 4Delivery Latency= 5 s
- 5Buffer Hint That Fires First= Buffer size — it fills before the interval elapses
- 6Objects Delivered per Hour= 703
- 7Average Object Size= 5.0 MB
- 8Billed Ingest per Month= 12,359.6 GB
- 9Estimated Monthly Cost= 429.50
Assumptions and limits
- The result is derived only from the 7 inputs listed above. Anything not among them is not part of the calculation.
- In particular, this calculator does not take inflation, tax, fees or charges 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 Firehose Buffer calculated?
time to fill = buffer size MB ÷ throughput MB/s; delivery latency = min(time to fill, buffer interval); average object = throughput × delivery latency. Firehose flushes when either hint is satisfied, whichever comes first, so on a busy stream the size hint dictates latency and on a quiet one the interval does. That single choice sets both your end-to-end freshness and your destination object size, and small objects are what make Athena and Spark queries slow. Billing rounds every record up to 5 KB, so 1 KB records cost five times what their raw volume suggests — confirm the current per-GB rate for your region.
Why does Firehose Buffer matter?
Buffer settings are the one Firehose knob that trades latency against query performance and cost simultaneously: a 1 MB buffer gives fresh data and thousands of tiny files, while a 128 MB buffer gives efficient Parquet objects and minutes of lag.
What values do I need to enter?
This calculator takes 7 inputs: Records per second, Average record size, Buffer size hint, Buffer interval hint, Compressed size as a share of raw, Firehose ingestion price per GB, Destination storage price per GB-month. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.
What object size should I aim for?
For Athena, Spark or Redshift Spectrum, objects of roughly 128 MB or more read far more efficiently than many small files. If freshness forces a small buffer, compact the output later with a scheduled job rather than fighting the buffer hint.
Does data transformation change the buffer behaviour?
Yes. A Lambda transformation applies its own buffering before delivery, and the billed ingest is measured on the data Firehose receives, not on the smaller output your transformation produces. Dropping records in a transform does not reduce the ingest charge.
Related Calculators
You might also need
- Lambda Cost CalculatorCommonly used together
- Kinesis Throughput CalculatorCommonly used together
- CloudWatch Log Cost CalculatorCommonly used together
- Serverless Health Score CalculatorAlso in AWS Serverless
- API Gateway Cost CalculatorAlso in AWS Serverless
- AWS API Gateway Throughput CalculatorAlso in AWS Serverless
