2019独角兽企业重金招聘Python工程师标准>>>

由于Solr和ElasticSearch都是基于Lucene构建的,所以他们之间有很大程度的相似性,故而他们的一些优化策略基本也是通用的,面对越来越多的海量数据,如何优化全量索引的写入性能呢? 散仙简单总结了下面几个方向的优化策略,如有疑问,欢迎拍砖。

(一)硬件优化: 
(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一次。


有什么问题可以扫码关注微信公众号:我是攻城师(woshigcs),在后台留言咨询。 
技术债不能欠,健康债更不能欠, 求道之路,我们同行。 

转载于:https://my.oschina.net/u/1027043/blog/667172

浅谈Solr和ElasticSearch建索引性能优化策略相关推荐

  1. 浅谈MySQL的B树索引与索引优化

    转载自   浅谈MySQL的B树索引与索引优化 MySQL的MyISAM.InnoDB引擎默认均使用B+树索引(查询时都显示为"BTREE"),本文讨论两个问题: 为什么MySQL ...

  2. 让Elasticsearch飞起来!——性能优化实践干货

    让Elasticsearch飞起来!--性能优化实践干货 2018年12月19日 23:01:39 铭毅天下(公众号同名) 阅读数:8805更多 所属专栏: 深入详解Elasticsearch 版权声 ...

  3. sql加上唯一索引后批量插入_阿里大佬总结的52条SQL语句性能优化策略,建议收藏...

    你知道的越多,不知道的就越多,业余的像一棵小草! 你来,我们一起精进!你不来,我和你的竞争对手一起精进! 编辑:业余草 cnblogs.com/SimpleWu/p/9929043.html 推荐:h ...

  4. 阿里P8架构师谈:多线程、架构、异步消息、Redis等性能优化策略

    常见性能优化策略分类 1.代码 之所以把代码放到第一位,是因为这一点最容易引起技术人员的忽视.很多技术人员拿到一个性能优化的需求以后,言必称缓存.异步.JVM等.实际上,第一步就应该是分析相关的代码, ...

  5. 【黑帽大牛】浅谈SEO快排系统对网站排名优化真的有帮助吗?【精品】

    大家好,今天我们要跟大家探讨的问题是"[黑帽大牛]浅谈SEO快排系统对网站排名优化真的有帮助吗?".以下案例参考战神快排系统. 之前有太多的人私聊我:汉文黑帽大牛,我想问一下现在百 ...

  6. 运用计算机优化教学的方法,浅谈计算机基础课程教学模式的优化对策论文

    计算机的应用在中国越来越普遍,改革开放以后,中国计算机用户的数量不断攀升,应用水平不断提高,特别是互联网.通信.多媒体等领域的应用取得了不错的成绩.1996年至2009 年,计算机用户数量从原来的63 ...

  7. 高中计算机选修一学业水平测试知识点,浅谈普通高中信息技术学业水平测试复习策略...

    浅谈普通高中信息技术学业水平测试复习策略 [摘要]目前,信息技术在我国普通高中已成为必修课,江苏省已举行过八届高中信息技术会考,形成了一套完整有序的考核方案.08高考新方案的出台对高中信息技术水平测试 ...

  8. ElasticSearch 海量数据查询性能优化

    ElasticSearch 海量数据查询性能优化 尽量让查询计算简单 最大化使用操作系统的文件缓存 增加内存 减少 ES 中的数据量 思路扩展 冷热分离 数据预加载 小结 ES 接收到查询请求后,会转 ...

  9. 52条SQL语句性能优化策略

    本文会提到 52 条 SQL 语句性能优化策略. 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 WHERE 及 ORDER BY 涉及的列上建立索引. 2.应尽量避免在 WHERE 子句中对字 ...

最新文章

  1. 阿里云服务器ubuntu14.04安装Redis
  2. window用ssh连接本机虚拟机中的ubuntu
  3. oracle 主键自增函数_oracle 实现主键自增
  4. 计算机控制读书报告心得,计算机控制系统读书报告
  5. 低功耗蓝牙onscanresult 出来名字为空_浅析BLE5.0蓝牙模块在智能家居的运用
  6. 在Excel中实现下拉列表选择录入
  7. c语言金箍棒答案,《西游记》阅读测试题(带答案)
  8. excel拼接数据宏
  9. 使用python排序_Python排序
  10. Spring Security OAuth2 授权失败(401)
  11. windows开启Apache的mod_rewrite模块
  12. 【2019杭电多校第七场1006=HDU6651】Final Exam(思维转换)
  13. 装机——2021年底装机推荐,附9000元DIY介绍
  14. 疫情地图 | 低代码制作全国重点管控地区行政区地图(截至4月16日)
  15. linux攻击主机msfconsole,关于利用kali linux2017.2中MSFCONSOLE 利用MS17-010漏洞发起攻击的坑...
  16. 苏宁!你还挺得过去吗?(苏宁大幅裁员)
  17. Windows照片图片便捷查看分类软件——照片分类猫
  18. 无界鼠标 (Mouse without Borders) 一套键鼠控制多台电脑的工具(可跨电脑拷贝/拖放文件)
  19. 区块链(二)-形象的理解区块链和中心化的技术差异
  20. 详解mysql执行计划

热门文章

  1. QT打印窗口、退出、设置字体及颜色、设置时间、控件实现系统函数、添加资源文件(菜单图片)、工具栏添加图片
  2. python:第一个简单爬虫程序
  3. 原创《如何用vue来轻松的驾驭 html5 webapp的页面体验》
  4. LeetCode 103. 二叉树的锯齿形层次遍历(Binary Tree Zigzag Level Order Traversal)
  5. 学习笔记:首次进行JUnit+Ant构建自动的单元测试(一)
  6. HTML基础(2)——边框
  7. Java Runtime.exec()的使用
  8. mysql学习笔记03 mysql数据类型
  9. IOS的一些文件操作。(沙箱) 在Documents目录下创建文件
  10. 查看Oracle实例的EM端口