InfluxDB 1.1 发布,性能提升高达 60%,并推出全新查询功能

导航至

在 InfluxDB 1.0 发布大约 2 个月后,我们已经发布了 InfluxDB 1.1,其中包括许多关键的性能和稳定性改进,以及一些新的查询功能。 这突显了我们致力于根据社区的反馈快速迭代的承诺。

性能改进

代码中进行了许多更改,以减少内存分配。 减少内存分配可减轻 Go 垃圾收集器的压力,并提高整个系统的性能。 大部分更改发生在写入、查询和压缩代码路径中。 这些更改应有助于减少 RSS 和堆使用量,以及某些用户的 CPU 利用率。

写入吞吐量已大幅提高。 我们的 influx-stress 基准测试在 AWS c4.4xlarge 上运行,平均每秒产生约 900,000 个值。

由于内存分配的移除和查询路径的优化,查询性能也得到了显着提高。 没有 GROUP BYfirst()last() 查询性能平均提高了 60%。 跨稀疏和密集数据集的查询也得到了改进。

当使用正则表达式来匹配精确的标签值时,查询规划现在被重写为尽可能使用直接索引查找。 当匹配模板变量时,Grafana 经常生成这些类型的查询,现在应该性能更高。

稳定性改进

更重要的更改之一是允许查询稀疏、高基数数据集,而不会触发内存不足的情况。 具有许多临时标签值的数据集经常导致查询耗尽所有可用内存。 跨这些数据集的查询现在应该以更少的 RAM 使用量完成。

高基数数据是许多新用户的常见问题来源。 此版本还添加了 max-values-per-tag 限制,默认值为 100,000,以帮助防止在高基数数据被修复之前写入。 默认情况下启用此限制,如果需要,可以在 配置中禁用

全新查询功能

现在可以使用许多新的查询功能

弃用

管理 UI(端口 8083)现在已正式弃用,并在此版本中禁用。 可以在 配置中重新启用,但在未来的版本中将被删除。 我们建议使用 ChrongrafGrafana 作为替代品。

升级

此 InfluxDB 1.1 版本应该是 1.0 的直接替代品,无需数据迁移。 在升级之前,可能需要更新一些配置更改,以避免停机。 务必在升级之前阅读 CHANGELOG

下一步是什么