InfluxDB 英寸工具
使用 InfluxDB inch 工具模拟数据流到 InfluxDB,并测量您的性能(例如,基数对写入吞吐量的影响)。为此,请完成以下任务:
安装InfluxDB英寸
要安装
inch,请在终端运行以下命令:$ go install github.com/influxdata/inch/cmd/inch验证
inch是否成功安装在你的GOPATH/bin(在 Unix 上默认为$HOME/go/bin)。
在 InfluxDB 中使用英寸
登录到您想要测试的InfluxDB实例(对于InfluxDB Enterprise,请登录到数据节点进行测试)。
运行
inch,指定options(度量)进行测试(请参见下面的 选项 表)。例如,您的语法可能如下所示:inch -v -c 8 -b 10000 -t 2,5000,1 -p 100000 -consistency any这个例子开始生成工作负载:
- 8 个并发 (
-c) 写入流 - 每批 10000 积分 (
-b) - 10000个唯一系列的标签基数 (
-t) (2x5000x1) - 每系列 10000 分 (
-p) - 任何写
-consistency
注意: 默认情况下,
inch将生成的测试结果写入名为stress的数据库。要更改 inch 数据库的名称,请包含-db string选项,例如inch -db test。- 8 个并发 (
要查看最后 50 个
inch结果,请对 inch 数据库运行以下查询:> select * from stress limit 50
选项
按字母顺序列出的inch选项。
| 选项 | 描述 | 示例 |
|---|---|---|
-b int | 批处理大小(默认5000;推荐在5000-10000个点之间) | -b 10000 |
-c int | 同时写入的流的数量(默认值 1) | -c 8 |
-consistency string | 写入一致性(默认“任何”);Influxdb API 支持的值包括“全部”、“法定人数”或“一个”。 | -consistency any |
-db string | 要写入的数据库名称 (默认值为 “stress”) | -db stress |
-delay duration | 写入之间的延迟(以秒 s、分钟 m 或小时 h 计算) | -delay 1s |
-dry | 干运行(在指定数据库上可以达到的最大写入性能 perf) | -dry |
-f int | 每个点的唯一字段键值对总数(默认值为 1) | -f 1 |
-host string | 主机 (默认 http | -host http://localhost:8086 |
-m int | 测量的数量(默认为1) | -m 1 |
-max-errors int | 在终止inch命令之前,允许发生的InfluxDB错误数量 | -max-errors 5 |
-p int | 每个系列的点数(默认100) | -p 100 |
-report-host string | 发送指标的主机 | report-host http://localhost:8086 |
-report-tags string | 与指标一起报告的,以逗号分隔的k=v(键值对?)标签 | -report-tags cpu=cpu1 |
-shard-duration string | 分片持续时间(默认 7d) | -shard-duration 7d |
-t [string]** | 用逗号分隔的整数,表示标签。 | -t [100,20,4] |
-target-latency duration | 如果指定,尝试调整写入延迟以满足目标。 | |
-time duration | 用于分散写入的时间跨度。 | -time 1h |
-v | 详细信息;在运行测试时打印出详细信息。 | -v |
** -t [string] 每个整数代表一个 tag key 和为该键生成的 tag values 的数量(默认为 [10,10,10])。将每个整数相乘以计算标签基数。例如, -t [100,20,4] 的标签基数为 8000 个唯一系列。