Size IPFIX collector storage from template field counts, flow rate, retention and compression.
Unlike fixed NetFlow v5, IPFIX record size depends entirely on the template you export, so the record cost is the sum of its information elements plus set overhead. Everything downstream — ingest bandwidth and stored bytes — scales linearly from that figure. Adding a handful of elements to a template looks harmless but multiplies across billions of records: widening a record from 40 to 76 bytes costs nearly double the array.
IPFIX Storage
record bytes = information elements × average field width + header, typically landing in the 40–70 byte range.
Retained storage
storage = flows/s × 86400 × record bytes × retention ÷ compression
record bytes = information elements × average field width + header, typically landing in the 40–70 byte range. Unlike fixed NetFlow v5, IPFIX record size depends entirely on the template you export, so the record cost is the sum of its information elements plus set overhead. Everything downstream — ingest bandwidth and stored bytes — scales linearly from that figure.
Adding a handful of elements to a template looks harmless but multiplies across billions of records: widening a record from 40 to 76 bytes costs nearly double the array.
This calculator takes 6 inputs: Flows per second, Information elements per record, Average bytes per field, Per-record header overhead, Retention period, Compression ratio. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.
Templates are sent periodically rather than per record, and variable-length elements only carry the bytes they need. The per-record cost is therefore just the data fields, which is why a well-chosen template beats exporting every element available.