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
inch, run the following command in your terminal:
$ go get github.com/influxdata/inch/cmd/inch
inchis successfully installed in your
GOPATH/bin(default on Unix
Use InfluxDB inch
Log into the InfluxDB instance you want to test (for InfluxDB Enterprise, log into the data node(s) to test).
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 (
- tag cardinality (
-t) of 10000 unique series (2x5000x1)
- 10000 points (
-p) per series
- any write
Note: By default,
inchwrites generated test results to a database named
stress. To change the name of the inch database, include the
-db stringoption, for example,
inch -db test.
- 8 concurrent (
To view the last 50
inchresults, run the following query against the inch database:
> select * from stress limit 50
inch options listed in alphabetical order.
|batch size (default 5000; recommend between 5000-10000 points)|
|number of streams writing concurrently (default 1)|
|write consistency (default “any”); values supported by the Influxdb API include “all”, “quorum”, or “one”.|
|name of the database to write to (default “stress”)|
|delay between writes (in seconds |
|dry run (maximum write performance |
|total unique field key-value pairs per point (default 1)|
|host (default http|
|the number of measurements (default 1)|
|the number of InfluxDB errors that can occur before terminating the |
|points per series (default 100)|
|host to send metrics to|
|comma-separated k=v (key-value?) tags to report alongside metrics|
|shard duration (default 7d)|
|comma-separated integers that represent tags.|
|if specified, attempt to adapt write delay to meet target.|
|time span to spread writes over.|
|verbose; prints out details as you’re running the test.|
-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!
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for InfluxDB and this documentation. To find support, use the following resources:
InfluxDB Cloud and InfluxDB Enterprise customers can contact InfluxData Support.