InfluxDB 1.1 发布,性能提升高达 60%,并推出全新查询功能
作者:Jason Wilder / 产品
2016 年 11 月 14 日
导航至
在 InfluxDB 1.0 发布大约 2 个月后,我们已经发布了 InfluxDB 1.1,其中包括许多关键的性能和稳定性改进,以及一些新的查询功能。 这突显了我们致力于根据社区的反馈快速迭代的承诺。
性能改进
代码中进行了许多更改,以减少内存分配。 减少内存分配可减轻 Go 垃圾收集器的压力,并提高整个系统的性能。 大部分更改发生在写入、查询和压缩代码路径中。 这些更改应有助于减少 RSS 和堆使用量,以及某些用户的 CPU 利用率。
写入吞吐量已大幅提高。 我们的 influx-stress
基准测试在 AWS c4.4xlarge
上运行,平均每秒产生约 900,000 个值。
由于内存分配的移除和查询路径的优化,查询性能也得到了显着提高。 没有 GROUP BY
的 first()
和 last()
查询性能平均提高了 60%。 跨稀疏和密集数据集的查询也得到了改进。
当使用正则表达式来匹配精确的标签值时,查询规划现在被重写为尽可能使用直接索引查找。 当匹配模板变量时,Grafana 经常生成这些类型的查询,现在应该性能更高。
稳定性改进
更重要的更改之一是允许查询稀疏、高基数数据集,而不会触发内存不足的情况。 具有许多临时标签值的数据集经常导致查询耗尽所有可用内存。 跨这些数据集的查询现在应该以更少的 RAM 使用量完成。
高基数数据是许多新用户的常见问题来源。 此版本还添加了 max-values-per-tag
限制,默认值为 100,000,以帮助防止在高基数数据被修复之前写入。 默认情况下启用此限制,如果需要,可以在 配置中禁用。
全新查询功能
现在可以使用许多新的查询功能
fill(linear)
线性内插缺失值cumulative_sum()
计算部分和序列- 支持所有
SHOW
命令的ON
子句 - 支持
SELECT
子句中字段键的 正则表达式。 例如,SELECT /cpu_\d/ FROM cpu
弃用
管理 UI(端口 8083)现在已正式弃用,并在此版本中禁用。 可以在 配置中重新启用,但在未来的版本中将被删除。 我们建议使用 Chrongraf 或 Grafana 作为替代品。
升级
此 InfluxDB 1.1 版本应该是 1.0 的直接替代品,无需数据迁移。 在升级之前,可能需要更新一些配置更改,以避免停机。 务必在升级之前阅读 CHANGELOG。
下一步是什么
- 下载 开源 TICK-stack 以开始使用
- 免费试用 InfluxDB Cloud - 试用具有完全托管集群、Kapacitor 和 Grafana 的 InfluxDB
- 在您自己的硬件上免费试用 InfluxDB Enterprise - 包括监控和重新平衡集群,以及管理备份和恢复
- 讲述您的故事: 超过 100 家公司 分享了 InfluxDB 如何帮助他们取得成功的故事。 提交您的客户评价,即可获得限量版连帽衫作为感谢!