Hardware sizing guidelines

This page documents an earlier version of InfluxDB. InfluxDB v2 is the latest stable version.

Review configuration and hardware guidelines for InfluxDB OSS (open source) and InfluxDB Enterprise:

Disclaimer: Your numbers may vary from recommended guidelines. Guidelines provide estimated benchmarks for implementing the most performant system for your business.

Single node or cluster?

If you want a single node instance of InfluxDB that’s fully open source, requires fewer writes, queries, and unique series than listed above, and do not require redundancy, we recommend InfluxDB OSS.

Note: Without the redundancy of a cluster, writes and queries fail immediately when a server is unavailable.

If your InfluxDB performance requires any of the following, a single node (InfluxDB OSS) may not support your needs:

We recommend InfluxDB Enterprise, which supports multiple data nodes (a cluster) across multiple server cores. InfluxDB Enterprise distributes multiple copies of your data across a cluster, providing high-availability and redundancy, so an unavailable node doesn’t significantly impact the cluster.

For more information about sizing requirements for InfluxDB Enterprise, see InfluxDB Enterprise hardware sizing guidelines.

Query guidelines

Query complexity varies widely on system impact. Recommendations are based on moderate query loads.

For simple or complex queries, we recommend testing and adjusting the suggested requirements as needed. Query complexity is defined by the following criteria:

Query complexity Criteria
Simple Have few or no functions and no regular expressions
Are bounded in time to a few minutes, hours, or 24 hours at most
Typically execute in a few milliseconds to a few dozen milliseconds
Moderate Have multiple functions and one or two regular expressions
May also have GROUP BY clauses or sample a time range of multiple weeks
Typically execute in a few hundred or a few thousand milliseconds
Complex Have multiple aggregation or transformation functions or multiple regular expressions
May sample a very large time range of months or years
Typically take multiple seconds to execute

InfluxDB OSS guidelines

Run InfluxDB on locally attached solid state drives (SSDs). Other storage configurations have lower performance and may not be able to recover from small interruptions in normal processing.

Estimated guidelines include writes per second, queries per second, and number of unique series, CPU, RAM, and IOPS (input/output operations per second).

vCPU or CPU RAM IOPS Writes per second Queries* per second Unique series
2-4 cores 2-4 GB 500 < 5,000 < 5 < 100,000
4-6 cores 8-32 GB 500-1000 < 250,000 < 25 < 1,000,000
8+ cores 32+ GB 1000+ > 250,000 > 25 > 1,000,000
  • Queries per second for moderate queries. Queries vary widely in their impact on the system. For simple or complex queries, we recommend testing and adjusting the suggested requirements as needed. See query guidelines for details.

Storage: type, amount, and configuration

Storage volume and IOPS

Consider the type of storage you need and the amount. InfluxDB is designed to run on solid state drives (SSDs) and memory-optimized cloud instances, for example, AWS EC2 R5 or R4 instances. InfluxDB isn’t tested on hard disk drives (HDDs). For best results, InfluxDB servers must have a minimum of 1000 IOPS on storage to ensure recovery and availability. We recommend at least 2000 IOPS for rapid recovery of cluster data nodes after downtime.

See your cloud provider documentation for IOPS detail on your storage volumes.

Bytes and compression

Database names, measurements, tag keys, field keys, and tag values are stored only once and always as strings. Field values and timestamps are stored for every point.

Non-string values require approximately three bytes. String values require variable space, determined by string compression.

Separate wal and data directories

When running InfluxDB in a production environment, store the wal directory and the data directory on separate storage devices. This optimization significantly reduces disk contention under heavy write load──an important consideration if the write load is highly variable. If the write load does not vary by more than 15%, the optimization is probably not necessary.

Was this page helpful?

Thank you for your feedback!

Introducing InfluxDB Clustered

A highly available InfluxDB 3.0 cluster on your own infrastructure.

InfluxDB Clustered is a highly available InfluxDB 3.0 cluster built for high write and query workloads on your own infrastructure.

InfluxDB Clustered is currently in limited availability and is only available to a limited group of InfluxData customers. If interested in being part of the limited access group, please contact the InfluxData Sales team.

Learn more
Contact InfluxData Sales

The future of Flux

Flux is going into maintenance mode. You can continue using it as you currently are without any changes to your code.

Flux is going into maintenance mode and will not be supported in InfluxDB 3.0. This was a decision based on the broad demand for SQL and the continued growth and adoption of InfluxQL. We are continuing to support Flux for users in 1.x and 2.x so you can continue using it with no changes to your code. If you are interested in transitioning to InfluxDB 3.0 and want to future-proof your code, we suggest using InfluxQL.

For information about the future of Flux, see the following: