我应该在单个请求中写入 influxdb 的最大点数是多少?

Posted

技术标签:

【中文标题】我应该在单个请求中写入 influxdb 的最大点数是多少?【英文标题】:What's the maximum number of points I should write to influxdb in a single request? 【发布时间】:2018-09-29 05:00:22 【问题描述】:

在 influxdb 1.5 中,/write 路径可以接受 POST 请求中的多个点。

对此合理的最大有效负载大小是多少? 100分? 1000? 10,000?更多?

【问题讨论】:

【参考方案1】:

由于您的问题使用了“应该”这个词,并且我假设任何向 InfluxDB 发送指标的方式都在后台使用/write,我觉得官方文档实际上对您的问题有一个概括的答案:

...这意味着需要将批处理点放在一起才能实现高吞吐量性能。 (对于许多用例,最佳批量大小似乎是每批 5,000-10,000 个点。)

除此之外,InfluxDB 的写入能力与您的hardware sizing 直接相关。

请注意,10,000 不是上限,只是官方建议。我相信 InfluxDB 可以处理比单个批次更多的处理方式。毕竟,最好凭经验进行检查,尤其是在您的硬件上。

【讨论】:

【参考方案2】:

我在 25000 点或更多点时遇到了一些问题。这些点是由 pandas 数据框中的一个小 Python 脚本编写的。该代码靠近来自 influx 的示例(使用 python 的数据帧到 influxdb)。 不管存在多少行和列,错误是可以在要写入的点的总和上重现的。 每次转账最好保持在20000点以下,以免出现异常。

【讨论】:

以上是关于我应该在单个请求中写入 influxdb 的最大点数是多少?的主要内容,如果未能解决你的问题,请参考以下文章

超过每个标签的最大值限制 InfluxDB

influxdb:多次写入多点与单点

具有相同时间戳但测量值不同的 InfluxDB 写入点

influxdb filed最大存多少数据

Prometheus 通过 Telegraf 将数据远程写入 InfluxDB 2.x 存储(InfluxDB 2.x 不同于 1.x)

Prometheus 通过 Telegraf 将数据远程写入 InfluxDB 2.x 存储(InfluxDB 2.x 不同于 1.x)