Influxdb(单节点)缩放到每秒约200次写入

时间:2017-10-03 23:34:32

标签: elasticsearch time-series influxdb

每秒可以写入Influxdb(单个节点)的最大点数是多少?是否可以在不使用付费群集的情况下扩展流入dbdb?如果我期待大约60个并发用户,我应该考虑使用elasticsearch而不是trendxdb来获取时间序列数据(~3000字节/秒/用户)吗?

1 个答案:

答案 0 :(得分:0)

取决于硬件。

限制因素是

  • DB中的系列基数(总独特系列)
  • WAL磁盘吞吐量(如果您没有SSD,可以将其放在tmpfs上)
  • 数据磁盘吞吐量(使用SSD获得最佳效果)
  • RAM(越多越好)
  • 用于提取,索引和查询的CPU

单个节点可以在多大程度上取决于这些以及工作负载。

对于低基数的大量写入工作负载,假设使用SSD并相应地优化了磁盘I / O,则CPU通常比其他任何工作都更快耗尽。

之后,基数是最大的限制因素。 Schema design扮演着巨大的角色,远远超过节点数量。

从我所做的一些基准测试中,单个节点可以轻松扩展到每秒~70K系列,其中CPU是限制因素。这是一个旧版本,可能比现在更高。同样,在很大程度上取决于数据和架构设计。

通过添加单独的节点来扩展它而不使用付费群集是可行的,但如果您想保持同类视图(所有数据的单一来源)则不行。垂直缩放(更多CPU,RAM)只有在基数保持一致时才有效,这意味着大致相同数量的系列会有更多数据点。

InfluxDB建议在单个节点上最多可以执行多达1M个唯一查询,每秒最多250K次写入,每秒25次查询。见hardware guidelines

对于单个节点的数据量绰绰有余 - 数据大小无关紧要,系列数量确实如此。避免对时间序列数据进行弹性搜索 - 需要更多的基础设施来处理相同数量的数据。