Elastic Stack 8.9:更快的跨集群搜索与指标聚合

Elastic Stack 8.9:更快的跨集群搜索与指标聚合

💡 原文英文,约1800词,阅读约需7分钟。
📝

内容提要

Elastic Stack 8.9发布,性能显著提升:跨集群搜索延迟降低最多80倍,指标聚合速度提升90%以上,向量搜索更快更准。新增地理线简化、Kibana可视化增强,并支持用Terraform统一管理多集群告警规则。改进ILM健康检查,优化冷/冻结层搜索。现已提供于Elastic Cloud及自管部署。

🔎

延伸解读

性能提升的代价:精度与延迟的权衡

文章提到,为了大幅提升聚合速度,Elasticsearch 8.9 将直方图的数据结构从 AVL 树改为合并方式,这导致精度从约 0.1% 的误差变为约 1% 的误差。虽然聚合速度提升了 2 到 50 倍,但用户需要意识到,对于依赖高精度百分位数或排名的场景,可能需要评估这种精度损失是否可接受。

跨集群搜索优化:减少网络往返是关键

8.9 为异步搜索 API 增加了 ccs_minimize_roundtrips 支持,Kibana 默认启用该模式,从而显著减少跨集群搜索的网络往返次数。在模拟多达 150 个集群、15 万个分片的测试中,加载 Discover 页面或仪表板的速度提升了 10 到 80 倍。这意味着对于多集群部署,网络延迟不再是主要瓶颈,但用户需注意该优化在非最小化往返模式下不适用。

ILM 健康检查增强:及早发现卡住的策略

新版本增强了 ILM 健康指示器,能够检查所有由 ILM 策略管理的索引,并根据当前操作和步骤判断是否卡住。例如,如果索引在 rollover 的 wait-for-active-shards 步骤停留超过 24 小时或重试超过 100 次,健康状态会变为黄色。这有助于用户及早发现问题,避免数据堆积在错误的层级,从而影响集群性能和稳定性。

❓

Q&A

Elastic Stack 8.9 在跨集群搜索方面有哪些性能提升?

Elastic Stack 8.9 通过支持 async search 的 ccs_minimize_roundtrips=true 选项,减少了跨集群搜索的网络往返次数,使得 Kibana 中的常见操作(如加载 Discover 页面或仪表板)速度提升 10 到 80 倍。

Elastic Stack 8.9 如何实现指标聚合速度提升 90% 以上?

通过改进默认刷新行为(如仅在分片搜索活跃时刷新,以及立即执行必要的刷新)、优化 can_match 阶段以跳过不相关的分片、改进基数聚合的优化,以及将直方图从 AVL 树改为合并方式(牺牲少量精度换取大幅性能提升),使得指标聚合延迟降低 90% 以上。

Elastic Stack 8.9 对冷/冻结层的跨集群搜索做了哪些优化?

在 8.9 中,跨集群搜索(CCS)在未启用最小化往返时,也会在远程集群执行 can_match 阶段,从而可以跳过不相关的分片,这对于冷/冻结层(基于可搜索快照)尤其重要,减少了不必要的远程集群访问,提升了搜索性能。

Elastic Stack 8.9 如何帮助发现卡住的 ILM 策略?

通过增强 Health Report API 中的 ILM 健康指标,新增规则检查所有由 ILM 策略管理的索引,如果索引在某个步骤(如 rollover > wait-for-active-shards)停留超过 24 小时或重试超过 100 次,指标将变为黄色,并显示在 Elastic Cloud 控制台中,帮助用户及时发现问题。

Elastic Stack 8.9 中地理线简化功能是什么?

地理线简化功能允许基于时间序列索引模式(TSDS)生成地理线时,通过 size 参数指定使用较少的点来简化线条,同时最小化误差,从而降低内存消耗并支持基于大量位置点创建复杂的地理线。该功能目前为技术预览版。

Elastic Stack 8.9 在 Kibana 可视化方面有哪些增强?

Kibana 增强了堆叠条形图的图例排序(按重要性从高到低显示),并为 Lens 折线图新增了直线、平滑和阶梯三种插值选项,其中阶梯图有助于清晰展示不规则间隔的数据变化。

如何使用 Terraform 管理 Elastic Stack 中的告警规则?

Elastic Stack 8.9 的 Terraform 提供程序新增了管理 Kibana 中告警规则和连接器的能力,用户可以通过 Terraform 在多个集群中统一管理规则,实现自动化、版本控制和集中管理。

🏷️

标签

➡️

继续阅读