tencent cloud

Elasticsearch Service

新手指引
动态与公告
产品动态
产品公告
安全公告
产品简介
产品概述
Elasticsearch 版本支持说明
产品功能
高级特性(X-Pack)
产品优势
应用场景
能力与限制说明
相关概念
购买指南
计费概述
产品定价
ES Serverless 服务定价
欠费说明
ES 内核增强
内核版本发布记录
定向路由优化
压缩算法优化
FST Off Heap 内存优化
快速入门
集群规格和容量配置评估
创建集群
访问集群
ES Serverless 服务指南
服务概述
基本概念
5分钟快速体验
快速使用
访问控制
数据写入
数据查询
索引管理
告警管理
ES API 参考
相关问题
数据应用指南
数据应用概述
数据管理
ES 集群指南
集群管理
访问控制
集群多可用区部署
集群扩缩容
集群配置
插件配置
监控与告警
日志查询
数据备份
升级
实践教程
数据迁移和同步
应用场景构建
索引设置
SQL 支持
企业微信机器人接收 Watcher 告警
API 文档
History
Introduction
API Category
Instance APIs
Making API Requests
Data Types
Error Codes
常见问题
产品相关问题
ES 集群
词汇表
新版介绍
Elasticsearch Service 2020.07新版
Elasticsearch Service 2020.2新版
Elasticsearch Service 2019.12新版

内核版本发布记录

PDF
聚焦模式
字号
最后更新时间: 2022-06-28 09:36:21
在完全兼容开源内核的基础上,腾讯云 Elasticsearch Service(ES)基于多场景大规模的丰富应用经验,围绕集群性能增强、稳定性提升、成本优化等方向,对 ES 内核进行了持续的深度研究和优化,并始终与开源社区保持着密切的交流。本文为大家介绍腾讯云 ES 的关键内核优化工作。

2022年4月发布的重点优化特性:
优化分类
优化策略
支持版本
性能优化
时序索引查询裁剪优化,时间范围检索从大范围遍历优化为边界定点裁剪,高基维时序范围搜索性能提升10倍+。
7.14.2
DSL 查询结果支持列式返回,大幅降低重复 key 冗余,网络带宽占用减少35%,性能提升20%。
7.14.2
节点间数据透传序列化优化,减少冗余的序列化开销,提升查询性能30%。
7.14.2
X-Pack 鉴权性能优化,通过特殊权限处理、缓存、延迟加载等机制消除 CPU 热点,提升查询性能30%+。
7.10.1、7.14.2
查询支持细粒度 block 级别采样优化,提升 Top-k、avg、min、max、histogram 等算子预估查询性能10倍+。
7.14.2
功能优化
查询 preference 参数优化,支持 _shards 和 custom_string 组合使用固定主副分片,确保评分场景查询结果稳定。
7.14.2
Keyword 字段超长内容截断优化,超长内容支持不报异常截断写入。
7.14.2
查询超时底层细粒度控制优化,避免大查询被主动取消或超时(查询需携带 timeout 参数)后继续占用集群资源。
7.10.1、 7.14.2
稳定性优化
修复查询流程中内存限流特定场景内存泄露问题、进一步优化内存限流策略,避免聚合场景打爆内存,提升集群稳定性。
7.14.2
修复节点脱离集群后长时间反复加入、踢出问题,提升集群稳定性。
7.10.1、7.14.2
优化节点、索引维度分片均衡策略,提升节点、索引层面的分片均衡能力,消除负载热点。
7.10.1、7.14.2
优化多盘场景分片搬迁均衡策略,提升多盘场景分片搬迁性能。
6.8.2、7.10.1、7.14.2
优化分片启动、分片失败任务优先级,避免索引长时间不可用。
6.8.2、7.10.1、7.14.2
集群扩展性优化,大幅提升分片数量、节点扩展能力,元数据变更、集群重启性能倍数级提升。
7.14.2
安全优化
修复 Log4j 安全漏洞。
全版本
2021年2月发布的重点优化特性:
优化维度
优化分类
优化策略
支持版本
性能优化
写入性能优化
分片定向路由优化,解决单索引多分片场景写入流程长尾分片问题,写入吞吐提升10%+,CPU 下降20%+。
6.8.2、7.5.1、7.10.1
查询性能优化
对查询结果进行裁剪,代替 filter_path,查询性能提升10%+。
6.8.2、7.5.1、7.10.1
稳定性优化
内存优化
大幅降低高并发写入、大查询导致节点卡死、集群雪崩问题,整体可用性提升至 99.99%。
基于内存资源的 Netty 网络层高并发写入限流。快速回收查询、写入异常的请求所消耗内存,避免异常请求导致内存堆积。优化自研单个请求熔断器,避免单个大查询占用资源过多。
基于 GC 负债管理及时自动重启内存彻底打满的节点。Lucene 文件类型内存映射模型可配置,根据不同的业务场景优化系统内存使用。
6.8.2、7.5.1、7.10.1
JDK、GC 优化
引入腾讯自研优化的 KONA JDK11,修复已知 JDK bug,提升 FGC 串行回收能力。 切换 G1 垃圾回收器,提升 GC 效率,减少 Old GC 导致的毛刺。
6.8.2、7.5.1、7.10.1
元数据性能优化
mapping 更新任务优先级优化,解决高并发 mapping 更新任务堵塞导致大量请求堆积打挂节点问题。元数据异步落盘优化,提升元数据同步性能,避免索引创建、mapping 更新频繁超时。
6.8.2、7.5.1、7.10.1
成本优化
存储优化
引入 zstd 压缩算法,压缩比提升30% - 50%,压缩性能提升30%。
6.8.2、7.5.1、7.10.1
截至2020年7月腾讯云 ES 团队自启动内核研究至今的重点优化特性:
优化维度
优化分类
优化策略
支持版本
性能优化
写入性能优化
Translog 锁机制优化,总体写入性能提升20%。写入去重优化,segment 文件裁剪优化,带主键写入性能提升50%+。
7.5.1、7.10.1
查询性能优化
聚合性能优化,查询高效剪枝,排序场景 composite 聚合性能提升3 - 7倍。
查询缓存优化,取消开销高、命中率低的数据缓存,实际场景查询毛刺从750ms降至50ms。
合并策略优化,自研基于时序、大小相似性分层合并策略、冷分片自动合并策略,搜索场景查询性能提升40%+。
查询 Fetch 阶段顺序抓取优化,提升缓存命中率,查询结果集较大场景,性能提升10%+。
6.4.3、6.8.2、7.5.1、7.10.1
稳定性优化
可用性优化
接入层曲线平滑限流。
协调节点汇聚子查询结果反序列化膨胀预估、内存检查。
大聚合查询结果集流式检查,内存达到阈值熔断请求。
自研单个请求熔断器(Single Request Circuit Breaker),避免单个大查询占用资源过多,避免单个大查询占用资源过多影响其它查询。
大幅降低高并发写入、大查询导致节点卡死、集群雪崩问题,整体可用性提升至99.99%。
6.4.3、6.8.2、7.5.1、7.10.1
均衡策略优化
引入基于索引、节点打散的均衡策略,优化集群新增节点导致分片严重不均问题。
优化多盘(多数据目录)之间分片不均问题。
提升集群扩容场景、多盘场景新建索引分片均衡性,减少人工运维成本。
5.6.4、6.4.3、6.8.2、7.5.1、7.10.1
滚动重启速度优化
优化节点重启分片复用本地数据逻辑。
精准控制预定延时时间内的分片拷贝恢复。 大集群单节点重启时间从10多分钟降至1分钟。
6.4.3、6.8.2、7.5.1、7.10.1
在线切主
自研在线切主功能,用户通过 API 指定偏好 master,实现秒级在线切换,典型使用场景:
人工运维时发现当前 master 高负载,在线切换 master 至规格更高、负载低的节点。
滚动重启时,master 节点放到最后重启,重启之前先将 master 角色快速切到别的节点再重启,服务影响从分钟级缩短到秒级。
6.4.3、6.8.2、7.5.1、7.10.1
成本优化
内存优化
自研堆外 cache,实现 FST Off-Heap 优化。
堆外 cache 保障 FST 回收策略可控。
精准淘汰策略提高 cache 命中率。
零拷贝加多级 cache 保障访问性能。
大幅降低堆内存开销,GC 时长下降10%+,单节点磁盘管理规模可达50TB,读写性能基本不受影响。
6.8.2、7.5.1、7.10.1
存储优化
自研 ID 字段行存裁剪,时序场景存储开销降低20%+。
5.6.4、6.4.3、6.8.2、7.5.1、7.10.1


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈