1、JVM参数
-Xms2g # 最小堆内存,改为服务器内存的一半,如32G内存服务器,则配置16G
-Xmx4g # 最大堆内存,改为服务器内存的一半,如32G内存服务器,则配置16G
`修改垃圾回收器
注释下面三行
#-XX:+UseConcMarkSweepGC
#-XX:CMSInitiatingOccupancyFraction=75
#-XX:+UseCMSInitiatingOccupancyOnly
`添加
-XX:+UseG1GC
-XX:MaxGCPauseMillis=50
2、记录查询慢的日志
index.search.slowlog.level: INFO index.search.slowlog.threshold.query.warn: 10s index.search.slowlog.threshold.query.info: 5s index.search.slowlog.threshold.query.debug: 2s index.search.slowlog.threshold.query.trace: 500ms index.search.slowlog.threshold.fetch.warn: 1s index.search.slowlog.threshold.fetch.info: 800ms index.search.slowlog.threshold.fetch.debug: 500ms index.search.slowlog.threshold.fetch.trace: 200msindex.indexing.slowlog.level: INFO index.indexing.slowlog.threshold.index.warn: 10s index.indexing.slowlog.threshold.index.info: 5s index.indexing.slowlog.threshold.index.debug: 2s index.indexing.slowlog.threshold.index.trace: 500ms
3、增大刷新时间(实时性不高可调整该参数)
index.refresh_interval: 20s ```
4、部分优化(根据服务器配置而定,其他线程池具体压测再添加)
a.修改elasticsearch.yml,bootstrap.mlockall: true
indices.memory.index_buffer_size: 40%
thread_pool:
write: size: 8(公式:cpu核数+1) queue_size: 4000
search:
size: 30(公式: 3*cpu核数/2 + 1)
queue_size: 1000
min_queue_size: 10
max_queue_size: 1000
auto_queue_frame_size: 2000
target_response_time: 1s
b.修改jvm.options配置,至少分配一半的内存给ES,最大31GB(理论上限32GB)
5、.JDK改为ES自带的jdk
安装目录自带了jdk,下面路径写绝对路径,进入安装目录的bin目录,修改启动项elasticsearch
顶部加入下面配置
export JAVA_HOME=/home/db/elasticsearch-7.0.0/jdk/
export PATH=$JAVA_HOME/bin:$PATH
if [ -x "$JAVA_HOME/bin/java" ]; then
JAVA="/home/db/elasticsearch-7.0.0/jdk/"
else
JAVA=`which java`
fi
【elasticsearch|Elasticsearch 参数优化】
推荐阅读
- 信息化建设|业务发展陷入停滞,决策没有信息支撑,数据分析才是解决方案
- SSM+VUE项目(传智健康)|03-预约管理-检查项管理的增删改查页面完善
- java|Vue 2.7 正式发布,代号为 Naruto
- big|集群计算——Spark-Spark Core 、Spark Streaming、Spark SQL、MLlib、Spark集群管理器
- #|Spark Streaming与流处理
- java|java 异步缓存_为什么redis在java是同步缓存,而在nodejs是异步缓存()
- JavaSE|【Java小游戏】俄罗斯方块
- 数据结构|【数据结构】优先级队列 - 堆
- JavaSE|【JavaSE】数组