ES数据删除优化

简介: ES数据删除优化

记录一次在单位里做的删除优化,使用delete_by_query的时候发现了一个问题,就是删除效率太低。当打流日志并发变高的时候,删除往往跟不上ES数据增加的速度,导致磁盘占用率过高。



第一版尝试调整过相关代码的删除阈值,发现ES会在查询到大数据量的情况下删除失败,后面经过定位发现是并发写入和删除产生的版本冲突问题。


//新增conflicts=proceed.delete_by_query?conflicts=proceed



经过修改后,发现虽然解决了版本冲突导致的删除中断问题,但是在某些极端情况下还是会删除超时。

查询了一下官方文档,发现了2种解决方案

一种是ES的异步删除,返回一个taskId。

另外一种是多线程删除。


经过实际测试,决定使用第二种方式来应对当下的业务场景。

在代码中新增


scroll_size//这个参数是执行删除的时候,每次每个线程会查询的数据量,然后进行删除。//默认是100,就是说每个线程每次都会查询出100条数据然后再删除。slices//这个就相当于开启的线程数,同时会有多少个线程执行查询然后删除程序。//默认是1,就是同时只会有一个线程进行查询删除操作。delete_by_query?conflicts=proceed&scroll_size=5000&slices=10


注意:以上这2个值对于不同性能的机器往往是不一样的,以上的只是参考值,我们可以根据实际测试情况,比如删除多少数据,用多少线程,共计多少时间,来设置最符合我们当下业务的线程。

目录
相关文章
|
存储 安全 算法
3.【Elasticsearch】Elasticsearch从入门到放弃-权重及打分
【Elasticsearch】Elasticsearch从入门到放弃-权重及打分
3.【Elasticsearch】Elasticsearch从入门到放弃-权重及打分
|
11月前
|
传感器 数据采集 边缘计算
《从踩坑到精通:边缘网关在物联网场景下的实践与优化指南》
本文以智慧园区物联网项目为背景,聚焦非电商/金融场景下边缘网关的开发实践与优化。针对传统中心化网关存在的延迟高、单点故障、吞吐量不足等问题,团队重构架构引入边缘计算,部署分布式网关集群。文章详细阐述从硬件选型(工业级处理器设备)到软件分层设计(驱动适配、数据处理、协同控制层)的全流程,重点解析协议适配难题(私有协议反向工程、串口通信纠错)、数据预处理策略(过滤、聚合、脱敏)、高可用设计(硬件冗余、故障转移、本地缓存)及性能优化(动态线程池、对象池技术)。
487 0
|
JavaScript 前端开发 网络协议
Vue.js 与 WebSocket 的惊世联姻!实时数据通信的震撼变革,你敢错过?
【8月更文挑战第30天】在现代Web开发中,实时数据通信至关重要。Vue.js作为流行前端框架,结合WebSocket技术,实现了高效实时的数据交互。本文简要介绍了WebSocket原理及其在Vue.js项目中的应用方法,包括建立连接、监听事件及数据处理等步骤,展示了如何利用二者结合轻松应对实时聊天、股票更新等多种场景,为开发者提供了实用指南。希望本文能帮助您更高效地实现Web应用的实时通信功能。
725 0
|
机器学习/深度学习 人工智能 自然语言处理
【人工智能】学习人工智能需要学习哪些课程,从入门到进阶到高级课程区分
基于人工智能的多学科特性和其广泛的应用领域,学习这一技术涉及从基础理论到实践应用的各个层面。入门阶段应重点掌握数学基础、编程语言学习以及数据结构和算法等。进阶阶段需要深入机器学习、深度学习以及自然语言处理等专题。高级课程则包括专业核心课程、认知心理学与神经科学基础以及计算机图形学等课程
1640 1
|
前端开发 定位技术 API
Mapbox添加行政区矢量图层,Mapbox添加分级设色图层,Mapbox添加文本标记图层,Mapbox给行政区矢量数据添加名称,Mapbox自定义鼠标悬浮框,Mapbox添加天地图底图
Mapbox的中国分部好像在2021年左右就退出中国了,官方文档的汉化工作也戛然而止,相关的社区建设也相当欠缺,内容比较混乱,最离谱的是mapbox官方底图库中的中国地图基本都是错的,天地图引入又麻烦...... 恰好我最近有一个基础的mapbox应用需求,就做了一些整理和探索,分享给大家。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来
|
机器学习/深度学习 人工智能 供应链
精准农业:AI在农业生产中的应用
【10月更文挑战第1天】随着科技的发展,人工智能(AI)逐渐渗透到农业领域,通过精准监控和管理提升了农业生产效率和质量。AI在精准农业中的应用包括:精准农田管理,如个性化灌溉和施肥;作物病虫害识别与预测,及时发现并预防病虫害;智能农机自动化作业,提高作业效率;农产品质量检测与分类,确保品质;农业供应链优化,预测需求和价格。尽管面临数据收集、技术接受度等挑战,AI在精准农业中的未来前景广阔,有望实现全程自动化作业、数据驱动决策及智能预警系统,推动农业可持续发展。
1191 11
|
机器学习/深度学习 人工智能 自然语言处理
大模型的多样性:从语言处理到多模态智能
本文介绍了大模型在多个领域的应用,包括自然语言处理(如Transformer、GPT、BERT、T5)、计算机视觉(如CNN、ViT、GAN)、多模态智能(如CLIP、DALL-E)、语音识别与合成(如Wav2Vec、Tacotron)以及强化学习(如AlphaGo、PPO)。这些模型展现了卓越的性能,推动了人工智能技术的发展。
690 1
|
应用服务中间件 Linux nginx
Nginx镜像支持哪些版本?
Nginx镜像支持哪些版本?
2070 1
|
Java API 数据安全/隐私保护
在Spring Boot中,过滤器(Filter)是一种非常有用的组件
在Spring Boot中,过滤器(Filter)是一种非常有用的组件
860 6
|
jenkins Devops Java
jenkins学习笔记之十:配置Gitlab提交流水线
jenkins学习笔记之十:配置Gitlab提交流水线
1153 0

热门文章

最新文章