elasticsearch.in.sh文件主要是内存优化
ES_MIN_MEM=24g(24g是物理内存的一半)
ES_MAX_MEM=24g
ES调优:
1、Java层面的调优,加大JVM的可用内存及单线程内存(在/bin/elasticsearch.in.sh文件修改参数)
一半分配主机物理内存的1/4 -- 1/2;
MAX=MIN,当max=min时,会锁定内存,不让JVM写入swapping,避免降低ES的性能,bootstrap.mlockall:true
2、ES本身调优在 config/elasticsearch.yml文件
分片数量,推荐分片数*副本数=集群数量;
分片会带来额外的分割和合并的损耗,理论上分片数越少搜索的效率越高,index.number_of_shards:20
缓存类型设置为soft reference,只有当内存不够时,才会进行回收:
index.cache.field.max_size:50000
index.cache.field.expire:10m
index.cache.field.type:soft