首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >InfluxDB 2.0被OOM2.0杀死

InfluxDB 2.0被OOM2.0杀死
EN

Stack Overflow用户
提问于 2021-07-01 05:45:53
回答 2查看 226关注 0票数 3

我对InfluxDB非常陌生,最初,我安装了1.8版,但后来升级到了2.0版。我认为这是一种开箱即用的方法,目前,我能够使用PHP的https://github.com/influxdata/influxdb-client-php客户端库和批处理5000设置插入到influx中,超时时间为30秒。

我已经创建了两个具有24小时保留期的存储桶,一个用于15分钟间隔数据,另一个用于60分钟间隔数据。这个插入率大约是。每小时两千一百万。目前没有其他查询在服务器上运行。

我还没有考虑到基数,我正在尝试向下-首先实现,然后优化路径,并期望摄取运行缓慢,但不会崩溃。以下是虚拟机上htop的快照,显示了InfluxDB的资源利用率。它持续使用大量的RAM,并且在运行6小时后被OOM Killer杀死。

Here is a Snapshot of Htop output

EN

回答 2

Stack Overflow用户

发布于 2021-08-03 03:41:59

您定义的模式是什么?你应该首先检查你的序列基数,以减少资源的使用,因为你需要插入大量的数据。InfluxDB使用时间序列索引作为时间序列索引,将频繁访问的数据提取到内存中。级数基数可以通过以下公式计算:

代码语言:javascript
复制
series_cardinality = num_of_bucket * num_of_measurement * num_of_values_of_each_tag * num_of_field_keys

如果你有无界的标签或测量值,这将导致失控的系列基数。因此,只需选择一个近似的模式,或者限制标记和测量值,您就可以改进所需的资源。

票数 2
EN

Stack Overflow用户

发布于 2021-08-29 18:05:46

我建议在你还不熟悉influxdb的时候考虑其他的选择。高基数问题在时间序列数据库中非常常见,而涌入在这里显示了平庸的结果。看起来你提到的库使用的是influx线路协议,所以你可以试试VictoriaMetrics。看一看关于ingestionhigh cardinality benchmarks的文章,看看我为什么推荐切换。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68201921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档