浅谈Solr和ElasticSearch建索引性能优化策略
(一)硬件优化: (1)CPU加大,有利于并发写入 (2)内存提升,加大写入缓冲 (3)磁盘IO,使用SSD或者IO读写更快的磁盘 (4)网络IO,保证客户端与服务端的通信带宽充足 (二)服务端框架优化: (1)加大shard的数目,理论上shard越多,写入速度越快 (2)设置较大的索引flush触发条件,ramBufferSizeMB 或者 maxBufferedDocs (3)写索引时,关闭副本,因为同步索引会大大降低写入速度 (4)监控GC,调整JVM参数 如果Full GC频繁,加大JVM堆内存, 如果Yong GC频繁,加大新生代的比例,如果使用的是CMS垃圾收集器,必要时,可以关闭survive区,避免survive区和Eden区来回拷贝 (5)尽量使用稳定的新版本如JDK和框架本身 (6)内存大的,可以尝试G1垃圾收集器 (三) 客户端优化 (1)如果公司有大数据部门,可以使用Hadoop或者Spark分布式集群构建索引 (2)如果公司没有大数据产品,可以使用多线程或者多进程并行构建索引 (3)使用批量提交 (4)减少commit次数,让服务端控制flush索引,索引完成之后,可手动commit一次。
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- ElasticSearch优化系列一:集群节点规划 - 简书http://www.jianshu.com/p/4c...
- 欢迎访问我的博客查看原文:http://wangnan.tech 注:文本整理自《ELKstack权威指南》 架构...
- mysql性能优化-慢查询分析、优化索引和配置 分类:Mysql/postgreSQL 目录 一、优化概述 二、查...
- 很少写技术博客,一是觉得自己技术有限,怕误人子弟;二是文笔较差,比较排斥写作之类的工作。话说不锻炼,哪会有进步呢,...