InfluxDB 因海量数据而宕机

InfluxDB goes down for huge data

我正在使用 InfluxDB 构建仪表板。我有一个产生大约的来源。每分钟2000点。每个点有 5 个标签,6 个字段。只有一个测量值。

大约 24 小时内一切正常,但随着数据量的增加,我无法 运行 任何关于涌入的查询。例如,现在我有大约 48 小时的数据,甚至基本的 select 也会降低流入数据库,

select count(field1) from measurementname

超时并出现错误:

ERR: Get http://localhost:8086/query?db=dbname&q=select+count%28field1%29+from+measuementname: EOF


配置:

一些背景:

我有一个仪表板和一个查询 influxdb 的网络应用程序。 Web 应用程序允许用户根据 tag1 或 tag2 查询数据库。

标签:

粘贴来自 influxdb@googlegroups.com 邮件列表的答案:https://groups.google.com/d/msgid/influxdb/b4fb503e-18a5-4bd5-84b1-632dc4950747%40googlegroups.com?utm_medium=email&utm_source=footer

tag1 - unique for each record.
tag2 - unique for each record.

这是一个糟糕的架构。您正在为每条记录创建一个新系列,这给数据库带来了沉重的负担。每个系列都必须被索引,并且当前整个索引必须驻留在 RAM 中。我怀疑你是 运行 48 小时后内存不足,因为系列基数,查询只是最后一根稻草,而不是内存不足情况的实际原因。

在标签中使用唯一值是非常糟糕的做法。您仍然可以在 WHERE 子句中使用字段,它们只是性能不佳,并且对您的系统造成的损害比每个点都有一个独特的系列要小得多。

https://docs.influxdata.com/influxdb/v0.10/concepts/schema_and_data_layout/ https://docs.influxdata.com/influxdb/v0.10/guides/hardware_sizing/#when-do-i-need-more-ram