當前位置:
首頁 >
浅谈Solr和ElasticSearch建索引性能优化策略
發(fā)布時間:2025/3/17
21
豆豆
生活随笔
收集整理的這篇文章主要介紹了
浅谈Solr和ElasticSearch建索引性能优化策略
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
2019獨角獸企業(yè)重金招聘Python工程師標準>>>
?由于Solr和ElasticSearch都是基于Lucene構(gòu)建的,所以他們之間有很大程度的相似性,故而他們的一些優(yōu)化策略基本也是通用的,面對越來越多的海量數(shù)據(jù),如何優(yōu)化全量索引的寫入性能呢? 散仙簡單總結(jié)了下面幾個方向的優(yōu)化策略,如有疑問,歡迎拍磚。?
(一)硬件優(yōu)化:?
(1)CPU加大,有利于并發(fā)寫入?
(2)內(nèi)存提升,加大寫入緩沖?
(3)磁盤IO,使用SSD或者IO讀寫更快的磁盤?
(4)網(wǎng)絡(luò)IO,保證客戶端與服務(wù)端的通信帶寬充足?
(二)服務(wù)端框架優(yōu)化:?
(1)加大shard的數(shù)目,理論上shard越多,寫入速度越快?
(2)設(shè)置較大的索引flush觸發(fā)條件,ramBufferSizeMB 或者 maxBufferedDocs?
(3)寫索引時,關(guān)閉副本,因為同步索引會大大降低寫入速度?
(4)監(jiān)控GC,調(diào)整JVM參數(shù)?
如果Full GC頻繁,加大JVM堆內(nèi)存,?
如果Yong GC頻繁,加大新生代的比例,如果使用的是CMS垃圾收集器,必要時,可以關(guān)閉survive區(qū),避免survive區(qū)和Eden區(qū)來回拷貝?
(5)盡量使用穩(wěn)定的新版本如JDK和框架本身?
(6)內(nèi)存大的,可以嘗試G1垃圾收集器?
(三) 客戶端優(yōu)化?
(1)如果公司有大數(shù)據(jù)部門,可以使用Hadoop或者Spark分布式集群構(gòu)建索引?
(2)如果公司沒有大數(shù)據(jù)產(chǎn)品,可以使用多線程或者多進程并行構(gòu)建索引?
(3)使用批量提交?
(4)減少commit次數(shù),讓服務(wù)端控制flush索引,索引完成之后,可手動commit一次。?
有什么問題可以掃碼關(guān)注微信公眾號:我是攻城師(woshigcs),在后臺留言咨詢。?
技術(shù)債不能欠,健康債更不能欠, 求道之路,我們同行。?
轉(zhuǎn)載于:https://my.oschina.net/u/1027043/blog/667172
新人創(chuàng)作打卡挑戰(zhàn)賽發(fā)博客就能抽獎!定制產(chǎn)品紅包拿不停!總結(jié)
以上是生活随笔為你收集整理的浅谈Solr和ElasticSearch建索引性能优化策略的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: thymeleaf模板引擎shiro集成
- 下一篇: 网站第三方评论对比