背景
在监控领域一般不会使用关系型数据库对监控点的数据进行存储,这些数据带有很强的时间标签同时在数据特点层面重写入读取,几乎没有修改、删除的操作,业务一般会使用时序数据库对这类信息进行存储。目前我们监控使用的时序数据库是influxdb,随着数据的积累慢慢也暴露出一系列的问题。从日常质保问题来看,主要集中在内存占用大,CPU飚高,磁盘IO高,写入不成功等问题上,本文针对这几个问题提供参数优化和根因分析,希望可以对后续的排查具有指导意义。
参数讲解
调优的前提是我们知道有哪些可以利用的参数以及这些参数的真实含义是什么,重点在每个参数的副作用是什么。因为我们的问题主要集中在引擎侧,所以此处主要讲的是TSM引擎的诸多参数。参数位置在influxdb.conf文件中
wal-fsync-delay
该参数的含义是wal文件的写入延迟,默认值是0s,也就是说不延迟。这样的话,每次记录wal文件时都会写盘,提升了可靠性,但是增加了磁盘读写次数和CPU的利用率
此处可以看到如果配置了延迟时间,会根据延迟时间调用。如果配置是0的话,会立刻调用。