elasticsearch-6.1.2性能優(yōu)化
1. 禁用交換內(nèi)存
交換內(nèi)存,也就是虛擬內(nèi)存,通過虛擬技術(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配置前面的#刪除
校驗配置是否生效:curl http://es ip:9200/_nodes?filter_path=**.mlockall,mlockall為true,則說明配置生效。
2. 修改JVM垃圾回收器
elasticsearch默認(rèn)的垃圾回收器為CMS,在垃圾回收時,效率相對較差,而頻繁的垃圾回收,將對導(dǎo)致elasticsearch的cpu負(fù)載較高,而G1垃圾回收器JDK新型的垃圾回收器,采用分塊的垃圾回收方式,性能相對較高,并且經(jīng)過調(diào)研發(fā)現(xiàn),一些大的互聯(lián)網(wǎng)公司,如美團,攜程,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