gpt4 book ai didi

InfluxDB 因海量数据而宕机

转载 作者:行者123 更新时间:2023-12-02 15:21:37 28 4
gpt4 key购买 nike

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

大约 24 小时内一切正常,但随着数据量的增长,我无法对涌入运行任何查询。例如,现在我有大约 48 小时的数据,甚至一个基本的选择也会降低 influx db,

select count(field1) from measurementname

超时错误:

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


配置:

  • InfluxDB版本:0.10.1默认配置
  • 操作系统版本:Ubuntu 14.04.2 LTS
  • 配置:30GB 内存、4 个 VCPU、150GB 硬盘

一些背景:

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

标签:

  • tag1 - 每条记录都是唯一的。在 web 应用程序的 where 子句中使用,以获取基于该字段的记录。
  • tag2 - 每条记录都是唯一的。在 web 应用程序的 where 子句中使用,以获取基于该字段的记录。
  • tag3 - 在分组依据中使用。可以把它想象成 departmentid 捆绑了一群员工。
  • tag4 - 在分组依据中使用。可以把它想象成 departmentid 捆绑了一群员工。
  • tag5 - 在分组依据中使用。值 0 或 1 或 2。

最佳答案

粘贴来自 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

关于InfluxDB 因海量数据而宕机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35852599/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com