Documentation

InfluxDB inch tool

Use the InfluxDB inch tool to simulate streaming data to InfluxDB and measure your performance (for example, the impact of cardinality on write throughput). To do this, complete the following tasks:

Install InfluxDB inch

  1. To install inch, run the following command in your terminal:

    $ go install github.com/influxdata/inch/cmd/inch
    
  2. Verify inch is successfully installed in your GOPATH/bin (default on Unix $HOME/go/bin).

Use InfluxDB inch

  1. Log into the InfluxDB instance you want to test (for InfluxDB Enterprise, log into the data node(s) to test).

  2. Run inch, specifying options (metrics) to test (see Options table below). For example, your syntax may look like this:

    inch -v -c 8 -b 10000 -t 2,5000,1 -p 100000 -consistency any
    

    This example starts generating a workload with:

    • 8 concurrent (-c) write streams
    • 10000 points per batch (-b)
    • tag cardinality (-t) of 10000 unique series (2x5000x1)
    • 10000 points (-p) per series
    • any write -consistency

    Note: By default, inch writes generated test results to a database named stress. To change the name of the inch database, include the -db string option, for example, inch -db test.

  3. To view the last 50 inch results, run the following query against the inch database:

     > select * from stress limit 50
    

Options

inch options listed in alphabetical order.

OptionDescriptionExample
-b intbatch size (default 5000; recommend between 5000-10000 points)-b 10000
-c intnumber of streams writing concurrently (default 1)-c 8
-consistency stringwrite consistency (default “any”); values supported by the Influxdb API include “all”, “quorum”, or “one”.-consistency any
-db stringname of the database to write to (default “stress”)-db stress
-delay durationdelay between writes (in seconds s, minutes m, or hours h)-delay 1s
-drydry run (maximum write performance perf possible on the specified database)-dry
-f inttotal unique field key-value pairs per point (default 1)-f 1
-host stringhost (default http://localhost:8086")-host http://localhost:8086
-m intthe number of measurements (default 1)-m 1
-max-errors intthe number of InfluxDB errors that can occur before terminating the inch command-max-errors 5
-p intpoints per series (default 100)-p 100
-report-host stringhost to send metrics toreport-host http://localhost:8086
-report-tags stringcomma-separated k=v (key-value?) tags to report alongside metrics-report-tags cpu=cpu1
-shard-duration stringshard duration (default 7d)-shard-duration 7d
-t [string]**comma-separated integers that represent tags.-t [100,20,4]
-target-latency durationif specified, attempt to adapt write delay to meet target.
-time durationtime span to spread writes over.-time 1h
-vverbose; prints out details as you’re running the test.-v

** -t [string] each integer represents a tag key and the number of tag values to generate for the key (default [10,10,10]). Multiply each integer to calculate the tag cardinality. For example, -t [100,20,4] has a tag cardinality of 8000 unique series.


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:

State of the InfluxDB Cloud Serverless documentation

InfluxDB Cloud Serverless documentation is a work in progress.

The new documentation for InfluxDB Cloud Serverless is a work in progress. We are adding new information and content almost daily. Thank you for your patience!

If there is specific information you’re looking for, please submit a documentation issue.