当前位置:网站首页>InfluxDB优化配置项
InfluxDB优化配置项
2022-06-21 18:40:00 【51CTO】
时序数据库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
调用之前的写等待时间,默认为
0
s,SSD
设置为
0
s,非
SSD
推荐设置为
0
ms
-
100
ms
wal
-
fsync
-
delay
=
"0s"
#
inmem
内存索引(需要大量内存),tsi1
基于磁盘的时序索引
index
-
version
=
"inmem"
#
查询日志开关
query
-
log
-
enabled
=
true
#
分片缓存在拒绝
/
write
请求前能写入的最大内存大小,默认为
1
g
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
日志
#
默认值
0
s
表示不记录慢查询
log
-
queries
-
after
=
"0s"
[
retention]
#
执行保留策略并淘汰旧数据开关
enabled
=
true
#
执行保留策略的检查时间间隔
check
-
interval
=
"30m0s"
[
monitor]
#
内部记录统计信息开关,生产环境中若数据量较大,建议关闭
store
-
enabled
=
true
#
记录统计信息的数据库
store
-
database
=
"_internal"
#
记录统计信息的时间间隔
store
-
interval
=
"10s"
[
http]
#
http
开关
enabled
=
true
#
http
绑定地址
bind
-
address
=
":8086"
#
认证开关
auth
-
enabled
=
false
#
http
请求日志
log
-
enabled
=
true
#
详细写入日志开关
write
-
tracing
=
false
#
flux
查询开关
flux
-
enabled
=
false
#
flux
查询日志开关
flux
-
log
-
enabled
=
false
#
pprof
http
开关,用于故障排除和监控
pprof
-
enabled
=
true
#
启用
/
pprof
端点并绑定到
localhost:
6060
,用于调试启动性能问题
debug
-
pprof
-
enabled
=
false
#
https
开关
https
-
enabled
=
false
#
https
证书
https
-
certificate
=
"/etc/ssl/influxdb.pem"
#
https
私钥
https
-
private
-
key
=
""
#
查询返回的最大行数,默认值
0
允许无限制
max
-
row
-
limit
=
0
#
最大连接数,超过限制的新连接将被丢弃,默认值
0
禁用限制
max
-
connection
-
limit
=
0
#
客户端请求
body
的最大大小(以字节为单位),设置为
0
则禁用限制
max
-
body
-
size
=
25000000
#
访问日志路径,若设置并当
log
-
enabled
启用时,请求日志将写入到该文件
#
默认则写入
stderr,与
influxdb
日志混合在一起
access
-
log
-
path
=
""
#
请求记录状态过滤,例如 [
"4xx",
"5xx"]
,默认 []
表示无过滤,所有请求被记录打印
access
-
log
-
status
-
filters
= []
#
最大并发处理的写入数,设置为
0
则禁用限制
max
-
concurrent
-
write
-
limit
=
0
#
最大排队等待处理的写入数,设置为
0
则禁用限制
max
-
enqueued
-
write
-
limit
=
0
#
写入在待处理队列中等待的最大持续时间
#
设置为
0
或将
max
-
concurrent
-
write
-
limit
设置为
0
则禁用限制
enqueued
-
write
-
timeout
=
"30s"
[
logging]
#
日志等级,error、warn、info(
默认)
、debug
level
=
"info"
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
- 56.
- 57.
- 58.
- 59.
- 60.
- 61.
- 62.
- 63.
- 64.
- 65.
- 66.
- 67.
- 68.
- 69.
- 70.
- 71.
- 72.
- 73.
- 74.
- 75.
- 76.
- 77.
- 78.
- 79.
- 80.
- 81.
- 82.
- 83.
- 84.
- 85.
- 86.
- 87.
- 88.
- 89.
- 90.
- 91.
- 92.
- 93.
- 94.
- 95.
- 96.
- 97.
- 98.
- 99.
- 100.
- 101.
- 102.
- 103.
- 104.
- 105.
- 106.
- 107.
- 108.
- 109.
- 110.
- 111.
- 112.
- 113.
- 114.
- 115.
- 116.
- 117.
- 118.
- 119.
- 120.
- 121.
- 122.
- 123.
重点配置 (cpu/内存/磁盘io/超时/日志)
#
禁用报告,默认为
false
reporting
-
disabled
=
true
[
meta]
#
元数据存储目录
dir
=
"/var/lib/influxdb/meta"
[
data]
#
数据目录
dir
=
"/var/lib/influxdb/data"
#
预写日志目录(write
ahead
log)
wal
-
dir
=
"/var/lib/influxdb/wal"
#
fsync
调用之前的写等待时间,默认为
0
s,SSD
设置为
0
s,非
SSD
推荐设置为
0
ms
-
100
ms
#
若要降低磁盘
io,则适当调大
wal
-
fsync
-
delay
=
"20ms"
#
inmem
内存索引(需要大量内存),tsi1
基于磁盘的时序索引,默认为
inmem
index
-
version
=
"tsi1"
#
查询日志开关,可视情况关闭
query
-
log
-
enabled
=
true
#
分片缓存在拒绝
/
write
请求前能写入的最大内存大小,默认为
1
g
#
若服务器内存较小,则适当调小;若要降低磁盘
io,则适当调大
cache
-
max
-
memory
-
size
=
"1g"
#
tsm
引擎将快照缓存并将其写入
tsm
文件的缓存大小,完成后释放内存,默认为
25
m
#
若服务器内存较小,则适当调小;若要降低磁盘
io,则适当调大
cache
-
snapshot
-
memory
-
size
=
"25m"
#
持续一段时间后,如果分片没有收到写入或删除,tsm
引擎将对缓存进行快照并将其写入新的
TSM
文件,默认为
10
m
#
若要降低
cpu
压缩计算和磁盘
io,则适当调大,但避免时间过长一直占用内存
cache
-
snapshot
-
write
-
cold
-
duration
=
"10m"
#
持续一段时间后,如果
tsm
引擎未收到写入或删除,tsm
引擎将压缩分片中的所有
TSM
文件,默认为
4
h
#
若要降低
cpu
压缩计算和磁盘
io,则适当调大,例如
24
h
compact
-
full
-
write
-
cold
-
duration
=
"24h"
#
tsm
压缩每秒写入磁盘的最大数据量,默认为
48
m
#
若要降低磁盘
io,则适当调大
compact
-
throughput
=
"48m"
#
tsm
压缩在短暂突发期间每秒写入磁盘的最大数据量,默认为
48
m
#
若要降低磁盘
io,则适当调大
compact
-
throughput
-
burst
=
"48m"
#
最大并发压缩数,默认值
0
会将
50
%
的
CPU
核心数用于压缩
#
若要降低
cpu
压缩计算和磁盘
io,则适当调小,但避免过小导致压缩周期变长
max
-
concurrent
-
compactions
=
0
#
tsi1
设置项:预写日志
wal
文件将压缩为索引文件时的阈值大小
#
较小的阈值将导致日志文件更快地压缩,并导致较低的堆内存使用量,但会以写入吞吐量为代价
#
更大的阈值将不会频繁地压缩,在内存中存储更多的
series,并提供更高的写入吞吐量
#
若要降低
cpu
压缩计算和磁盘
io,则适当调大,但避免过大导致一直占用内存
#
若服务器内存较小,则适当调小或保持不变
max
-
index
-
log
-
file
-
size
=
"1m"
#
tsi1
设置项:tsi
索引中用于存储先前计算的
series
结果的内部缓存大小
#
缓存结果将从缓存中快速返回,而不需要对匹配
tag
键值的后续查询进行重新计算
#
将此值设置为
0
将禁用缓存,这可能会导致查询性能问题
#
若服务器内存较小,则适当调小
series
-
id
-
set
-
cache
-
size
=
100
[
coordinator]
#
写入请求超时时间,默认为
10
s
write
-
timeout
=
"20s"
[
monitor]
#
内部记录统计信息开关,生产环境中若数据量较大,会影响内存及cpu,建议关闭
store
-
enabled
=
true
#
记录统计信息的时间间隔,生产环境中若数据量较大,但需要开启监控,则调大间隔
store
-
interval
=
"10s"
[
http]
#
http
请求日志,可视情况关闭
log
-
enabled
=
true
[
logging]
#
日志等级,error、warn、info(
默认)
、debug,可视情况调整等级
level
=
"info"
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
- 56.
- 57.
- 58.
- 59.
- 60.
- 61.
- 62.
- 63.
- 64.
- 65.
- 66.
- 67.
- 68.
- 69.
边栏推荐
- zabbix6.0+timescaledb+企业微信告警
- How MySQL sums columns
- mysql与oracle有没有区别
- Implementation of assembly language greedy snake and Tetris dual task design (II) -- detailed design of greedy snake
- mysql有没有触发器
- 使用 POST 向 ASP.NET Core 传递数据时的长度限制与解决方案
- ArrayList源码解析
- Codeforces Round #394 (Div. 2) E. Dasha and Puzzle
- mysql中有没有关键字
- 技术实践 | 场景导向的音视频通话体验优化
猜你喜欢

Source code analysis of ArrayList

Resttemplate multiple authentication information authorization

Flink 系例 之 TableAPI & SQL 与 示例模块

RestTemplate多个认证信息Authorization问题

SQL语句知识点有哪些

Flink 系例 之 TableAPI & SQL 與 示例模塊

How to query all tables in MySQL

【微信小程序】协同工作和发布 数据绑定

Implementation of assembly language greedy snake and Tetris dual task design (II) -- detailed design of greedy snake

一种简单的架构设计逻辑|得物技术
随机推荐
Category
Security框架中使用FastJson反序列化SimpleGrantedAuthority
How to set the picture background to transparent
CloudCompare&PCL 点云AABB包围盒
Gradle download and installation configuration
[wechat applet failed to change appid] wechat applet failed to modify appid all the time and reported an error. Tourist appid solution
NSIS 运行bat的方法汇总
Datagear uses coordinate mapping table to make geographic coordinate data visualization Kanban
我记得MAXCOMPUTE里面是不可以写PROCEDURE,那如果想oracle procedure
Assembly language greedy snake and Tetris dual task design implementation details (III) -- Tetris detailed design
Leetcode personal question solution (Sword finger offer 21-25) 21 Adjust the array order so that odd numbers precede even numbers, 22 The penultimate node in the linked list, 24 Reverse linked list, 2
[force deduction 10 days SQL introduction] Day1
新手使用APICloud可视化开发搭建商城主页
API de table & SQL et module d'échantillon pour le système Flink
RecycleView拖动效果
Big Fish eating Little Fish Games version complète
谷粒学院P40~43
1157 Anniversary
mysql增加的语句是什么
How to query the data in MySQL