E往无前|腾讯云大数据ES索引原理剖析及写入性能优化最佳实践

导读

本文经过大量案例总结和踩坑复盘,归纳整理了Elastisearch集群在写入性能优化方面一些常用的优化技巧和避坑指南。

在我们服务腾讯云ES的客户过程中,经常会收到一些客户对云上ES集群读写性能未能达到预期的反馈,并希望我们能够配合做一些性能压测及调优的工作。经过我们结合客户的业务场景和深入分析集群性能瓶颈后,基本都可以给出客户一些能够明显提升读写性能的建议和优化措施。

腾讯云大数据ES团队通过众多大客户集群的实践经验,归纳整理了Elastisearch集群在写入性能优化方面一些常用的优化技巧和避坑指南。

ES集群索引原理剖析

在介绍ES集群写入性能优化之前,我们先来简单回顾下Elastisearch集群索引的基本流程。如下图1所示。

b5ddf49626ad9bc2610c19de1f62c9e6.png

图1. ES集群索引写入流程示意图

通过分析图1的左半部分,可以看出ES写入基本流程如下:

1、客户端向Node1发送索引文档请求;

2、Node1节点根据doc_id确定文档属于分片0,将请求转发到Node3

3、Node3在主分片上执行请求,成功后将请求并行转发到副本分片所在节点。一旦所有副本分片都写入成功,则Node3向协调节点返回写入成功,协调节点向客户端报告doc文档写入成功。

而通过分析图1的右半部分,我们可以看出写入到ES集群的文档在一个分片上的具体执行逻辑,主要分为如下图2所示的四个关键步骤。

f47e8bee6a7c33a321fc1fb3c9c88562.png

图2. ES集群写入核心流程示意图

1、Wirte过程:

分片所在的节点在接收到协调节点的写入请求后,首先会将doc写入到一个叫In-memo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值