Elasticsearch写入性能优化:减副本增批量
129 浏览量
更新于2024-08-31
收藏 650KB PDF 举报
"Elasticsearch集群的正确工作状态验证,以及针对写入性能的基准测试和优化策略。"
本文主要探讨了如何确保Elasticsearch集群的正常运行,并进行了写入性能的基准测试,以优化大量数据的上传效率。在进行性能优化前,作者首先验证了集群的状态,通过观察各节点的数据分布情况,确认了数据目录的工作状态以及数据的一致性。在IP10、IP12和IP13节点上的数据分布和副本设置被详细分析,而IP11则被识别为非master候选节点且不存储数据。
在测试环境中,作者使用了一台配备了特定硬件配置的macOS系统,包括2.3GHz的Intel Core i5处理器和8GB的内存,以及固态硬盘。尽管推荐性能测试应持续30分钟以上,但由于时间限制,作者采用了更简洁的测试方法。
测试的目的是优化近1TB(约5亿条)数据的上传到Elasticsearch集群的过程。初始测试显示,如果按照当前速度,预计需要大约56小时才能完成。为了提高效率,作者选取了不同的参数进行调整,包括索引设置、副本数量、分片数以及bulk批量提交的大小。
首先,创建索引diglab_1,用时33秒,副本占用103.5mb,总存储量为副本数乘以该大小。接着,创建diglab_2,与前一个索引相比,没有显著速度提升,但节省了12%的时间。当副本数减少到1(diglab_3)时,写入速度提升了20%,表明复制操作可能是性能瓶颈。为了探索分片数的影响,创建了diglab_4,结果显示分片数增加会降低写入速度,但考虑到对检索性能的影响,决定将分片数设置为默认值5。
在批量提交大小的测试中,增大chunk_size从2000到8000,再到50000,发现速度有所提升,但差异不大。因此,后续测试采用了三倍的数据集,并继续从第4次测试的设置开始,使用10万和20万条数据的文件。
通过tail命令而非head命令来处理数据集,可能是为了更全面地模拟实际生产环境中的数据处理情况,从而获取更准确的性能指标。
总结来说,本文重点在于Elasticsearch集群的写入性能优化,包括副本数量、分片数和批量提交大小的调整。通过一系列的测试,作者得出了初步的优化策略,以提高大规模数据导入的效率。然而,实际的优化方案还需要根据具体应用场景、硬件配置和性能需求进行进一步的调整和验证。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2019-06-12 上传
2023-10-16 上传
2021-01-27 上传
2021-01-29 上传
2022-09-05 上传
2024-07-01 上传
weixin_38609571
- 粉丝: 8
- 资源: 908
最新资源
- 正整数数组验证库:确保值符合正整数规则
- 系统移植工具集:镜像、工具链及其他必备软件包
- 掌握JavaScript加密技术:客户端加密核心要点
- AWS环境下Java应用的构建与优化指南
- Grav插件动态调整上传图像大小提高性能
- InversifyJS示例应用:演示OOP与依赖注入
- Laravel与Workerman构建PHP WebSocket即时通讯解决方案
- 前端开发利器:SPRjs快速粘合JavaScript文件脚本
- Windows平台RNNoise演示及编译方法说明
- GitHub Action实现站点自动化部署到网格环境
- Delphi实现磁盘容量检测与柱状图展示
- 亲测可用的简易微信抽奖小程序源码分享
- 如何利用JD抢单助手提升秒杀成功率
- 快速部署WordPress:使用Docker和generator-docker-wordpress
- 探索多功能计算器:日志记录与数据转换能力
- WearableSensing: 使用Java连接Zephyr Bioharness数据到服务器