Elasticsearch高并发写入优化的开源协同经历

在腾讯金融科技全民BI项目中,面临超过10亿级数据的高并发写入挑战,团队深入优化Elasticsearch,通过参数调整、线程分析及社区协作,将写入耗时从26分钟降至13分钟。关键在于理解ES写入机制,优化translog滚动策略,减少锁等待时间,以及调整相关参数,如`index.translog.flush_threshold_size`和`index.translog.generation_threshold_size`。
摘要由CSDN通过智能技术生成

导语:在腾讯金融科技数据应用部的全民BI项目里,我们每天面对超过10亿级的数据写入,提高es写入性能迫在眉睫,在最近的一次优化中,有幸参与到了elasticsearch开源社区中。

背景
为了更便捷地分析数据,腾讯金融科技数据应用部去年推出了全民BI的系统。这个系统通过elasticsearch进行基础的统计,超过10亿级的数据量需要尽可能快速地导入到es系统中。即使经过多次的参数优化,我们依然需要几个小时才能完成导入,这是系统此前存在的一大瓶颈。
在这样的背景下,我们开始决定进一步深入es,寻找优化点。

优化前的准备
我们准备了1000万的数据,并在原程序(spark程序写入)上进行了几轮单机压测,得到了一些基本的性能数据。
机器配置:CPU 24核,内存 64G
ES基本配置:
· 堆内存31G
· 其他参数调整包括lock memory,translog.durability调整成async等(更详细的策略可以参见https://github.com/elastic/elasticsearch/issues/45371)
文档数:1000万,字段400个(没有text字段)
写入耗时:26分钟
CPU:80%+

寻找理论值
在往下进入深水区之前,我们需要先回顾一下es本身,es本身是基于lucene基础上设计的分布式搜索系统,在写入方面主要提供了:
· 事务日志和成组提交的机制提高写入性能并保证可靠性
· 提供schema的字段定义(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值