elasticsearch-6.1.2性能優(yōu)化
1. 禁用交換內(nèi)存
交換內(nèi)存锥咸,也就是虛擬內(nèi)存靶溜,通過(guò)虛擬技術(shù)把一部分硬盤當(dāng)內(nèi)存用匾乓,但是由于,硬盤的性能比內(nèi)存是差很多的鳄厌,在內(nèi)存資源充足的情況下荞胡,應(yīng)禁用交換內(nèi)存,以提高elasticsearch的性能了嚎。
配置方式:修改/opt/elasticsearch-6.1.2/config/elasticsearch.yml
配置文件泪漂,將bootstrap.memory_lock: true
配置前面的#
刪除
校驗(yàn)配置是否生效:curl http://es ip:9200/_nodes?filter_path=**.mlockall
,mlockall
為true
,則說(shuō)明配置生效歪泳。
2. 修改JVM垃圾回收器
elasticsearch默認(rèn)的垃圾回收器為CMS萝勤,在垃圾回收時(shí),效率相對(duì)較差呐伞,而頻繁的垃圾回收敌卓,將對(duì)導(dǎo)致elasticsearch的cpu負(fù)載較高,而G1垃圾回收器JDK新型的垃圾回收器荸哟,采用分塊的垃圾回收方式假哎,性能相對(duì)較高,并且經(jīng)過(guò)調(diào)研發(fā)現(xiàn)鞍历,一些大的互聯(lián)網(wǎng)公司舵抹,如美團(tuán),攜程劣砍,es的垃圾回收器使用的都是G1惧蛹。
修改elasticsearch-6.1.2/config/jvm.options
將下面三行注釋
-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=75
-XX:+UseCMSInitiatingOccupancyOnly
并添加以下配置
-XX:+UseG1GC
-XX:MaxGCPauseMillis=50
示例:
#-XX:+UseConcMarkSweepGC
#-XX:CMSInitiatingOccupancyFraction=75
#-XX:+UseCMSInitiatingOccupancyOnly
-XX:+UseG1GC
-XX:MaxGCPauseMillis=50