InfluxDb性能测试
influxdb写性能测试工具influx-stress安装
本课使用influx-stress来进行性能测试,influx-stree的地址是:https://github.com/influxdata/influx-stress
首先安装go语言环境,因为influx-stress基于go语言:
wget http://66-ai.com/download/script-litte-prince/app/go-install.sh -O /root/go-install.sh && sh go-install.sh
安装有点慢,本网站经费有限,服务器带宽有限,:),请大家点击一下AD
,支持一下把。
安装influx-stress
安装influx-stress,
go get -v github.com/influxdata/influx-stress/cmd/...
这样,influx-stress 就被安装在/root/go/bin/influx-stress中了。
influx-stress命令说明
influx-stress 命令的用法:
influx-stress insert SERIES FIELDS [flags]
其中flag是可选的,表示influx-stress这个程序的一些选项:
命令 | 缩写 | 含义 |
---|---|---|
--batch-size uint | -b | 一个批次的插入的点数(默认10000),也就是每次提交到influxdb的点数 |
--consistency string | -c | |
--create string | 使用一个自定义创建数据库的命令 | |
--db string | 需要测试的数据库,默认是stress,如果不是默认数据库,数据库需要先新建。 | |
--dump string | 使用文件导入数据 | |
--fast | -f | 最快速度运行 |
--gzip int | 传到influxdb的数据是否需要压缩,以什么样的格式压缩。1=最快,2=最大压缩,-1=gzip压缩 | |
--host string | InfluxDB的地址 (默认 "http://localhost:8086") | |
--pass string | 密码 | |
--points uint | -n | 最大被写的点的数目,最大18446744073709551615 |
--pps uint | 每秒默认写多少点,默认是20000,这个值过大,例如大于100万的时候,根据influxdb性能,每s实际写入量不等于你设置的数值 | |
--precision string | -p | 数据的精度 |
--quiet | -q | 结果只打印吞吐量,这个参数建议不要打开 |
--rp string | 将写的保留策略 | |
--runtime duration | -r | 性能测试的持续时间,默认为2562047h47m16.854775807s,请不要使用默认,否则你永远得不到测试结果 |
--series int | -s | 将写的序列的数量 |
--strict | 错误或异常发生,就退出 | |
--user string | 用户自定义要写的数据 |
influx-stress 测试机的配置
本性能测试机器的配置:
- CPU: 4vCPUS
- 内存: 16GB
- 硬盘: 40G 机械硬盘
influx-stress 举个例子
/root/go/bin/influx-stress insert -r 60s --strict --pps 200000 --host http://192.168.1.39:8086
/root/go/bin/influx-stress insert -r 60s --strict --pps 800000 --host http://192.168.1.39:8086
/root/go/bin/influx-stress insert -r 60s --strict --pps 1400000 --host http://192.168.1.39:8086
/root/go/bin/influx-stress insert -r 60s --strict --pps 2000000 --host http://192.168.1.39:8086
从上面的性能测试中,可以发现,100万/秒已经是这台influxdb实例的极限了。