我应该在单个请求中写入 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 的最大点数是多少?的主要内容,如果未能解决你的问题,请参考以下文章
Prometheus 通过 Telegraf 将数据远程写入 InfluxDB 2.x 存储(InfluxDB 2.x 不同于 1.x)
Prometheus 通过 Telegraf 将数据远程写入 InfluxDB 2.x 存储(InfluxDB 2.x 不同于 1.x)