InfluxDB优化配置项
Posted sqtce
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了InfluxDB优化配置项相关的知识,希望对你有一定的参考价值。
时序数据库InfluxDB
InfluxDB是一个用于存储和分析时间序列数据的开源数据库。也是使用最多的一个时序数据库。
常见选项的默认配置 (influxdb.conf)
# 禁止报告开关,默认 每 24 小时往 usage.influxdata.com 发送报告
reporting-disabled = false
# 用于备份和恢复的 RPC 服务的绑定地址
bind-address = "127.0.0.1:8088"
[meta]
# 元数据存储目录
dir = "/var/lib/influxdb/meta"
# retention policy 自动创建开关
retention-autocreate = true
# 元数据服务日志开关
logging-enabled = true
[data]
# 数据目录
dir = "/var/lib/influxdb/data"
# 预写日志目录(write ahead log)
wal-dir = "/var/lib/influxdb/wal"
# fsync 调用之前的写等待时间,默认为 0s,SSD 设置为 0s,非 SSD 推荐设置为 0ms-100ms
wal-fsync-delay = "0s"
# inmem 内存索引(需要大量内存),tsi1 基于磁盘的时序索引
index-version = "inmem"
# 查询日志开关
query-log-enabled = true
# 分片缓存在拒绝 /write 请求前能写入的最大内存大小,默认为 1g
cache-max-memory-size = "1g"
# tsm 引擎将快照缓存并将其写入 tsm 文件的缓存大小,完成后释放内存
cache-snapshot-memory-size = "25m"
# 持续一段时间后,如果分片没有收到写入或删除,tsm 引擎将对缓存进行快照并将其写入新的 TSM 文件
cache-snapshot-write-cold-duration = "10m"
# 持续一段时间后,如果 tsm 引擎未收到写入或删除,tsm 引擎将压缩分片中的所有 TSM 文件
compact-full-write-cold-duration = "4h"
# tsm 压缩每秒写入磁盘的最大数据量,短暂突发期间可以被设置为 compact-throughput-burst
compact-throughput = "48m"
# tsm 压缩在短暂突发期间每秒写入磁盘的最大数据量
compact-throughput-burst = "48m"
# 最大并发压缩数,默认值 0 会将 50% 的 CPU 核心数用于压缩
max-concurrent-compactions = 0
# inmem 设置项:在删除写入之前每个数据库允许的 series 的最大数量,设置 0 则不限制
max-series-per-database = 1000000
# inmem 设置项:每个 tag 键允许的 tag 值的最大数量,设置 0 则不限制
max-values-per-tag = 100000
# tsi1 设置项:预写日志 wal 文件将压缩为索引文件时的阈值大小
# 较小的阈值将导致日志文件更快地压缩,并导致较低的堆内存使用量,但会以写入吞吐量为代价
# 更大的阈值将不会频繁地压缩,在内存中存储更多的 series,并提供更高的写入吞吐量
max-index-log-file-size = "1m"
# tsi1 设置项:tsi 索引中用于存储先前计算的 series 结果的内部缓存大小
# 缓存结果将从缓存中快速返回,而不需要对匹配 tag 键值的后续查询进行重新计算
# 将此值设置为 0 将禁用缓存,这可能会导致查询性能问题
series-id-set-cache-size = 100
[coordinator]
# 写入请求超时时间
write-timeout = "10s"
# 最大并发查询数,默认值 0 表示不限制
max-concurrent-queries = 0
# 在终止查询之前允许执行查询的最长持续时间,默认值 0 表示不限制
query-timeout = "0s"
# 慢查询的最大持续时间,一个查询超出该时间将打印 Detected slow query 日志
# 默认值 0s 表示不记录慢查询
log-queries-after = "0s"
[retention]
# 执行保留策略并淘汰旧数据开关
enabled = true
# 执行保留策略的检查时间间隔
check-interval = "30m0s"
[monitor]
# 性能可视化监控搭建,采用架构:jmeter+talegraf+influxDB+grafana时序数据库InfluxDBWindows环境下配置InfluxDB+数据可视化,以及使用 C#进行简单操作的代码实例...
性能工具之JMeter+InfluxDB+Grafana打造压测可视化实时监控(centos7环境)