因此,每当我们重新启动influxdb时,我们注意到grafana需要相当长的时间来重新连接/读取influxdb中的数据。(最多10M)
但是,当涉及到写入数据和访问/health端点时,数据库在大约2-3分钟内就可以使用。
为什么在重启数据库服务/进程后,数据库需要更长的时间来提供读取服务?
它与WAL flushing相关吗,但是为什么它会影响read?
日志上也没有任何记录。
Influxdb: 1.7
发布于 2021-03-16 19:57:26
Influx可以如此快速地写入,因为它能够加载WAL,然后可以在加载新数据点时填充内存中的数据库。因此,在启动时,在系统能够快速处理新写入之前,几乎不需要进行任何操作。但是,即使WAL中的所有点都被刷新到永久存储器中,系统也需要对索引文件进行组织和执行压缩,这是一项昂贵的操作,并且必须在例程读取将如预期那样执行之前完成。
这在大量涌入的早期是一个更大的问题,因为对于具有更多系列或更长密钥的较大数据库,启动时间可能很容易超过一个小时。多年来,它一直在调整,所以你真的应该把10分钟看作是一种福气,而不是麻烦的征兆。
https://stackoverflow.com/questions/66541517
复制相似问题