elasticsearch三个重要的优化
2017-02-10 16:18
453 查看
编辑:elasticsearch-2.3.3/bin/ elasticsearch
加上:
1、内存优化
在bin/elasticsearch.in.sh中进行配置
修改配置项为尽量大的内存:
ES_MIN_MEM=8g
ES_MAX_MEM=8g
两者最好改成一样的,否则容易引发长时间GC(stop-the-world)elasticsearch默认使用的GC是CMS GC
如果你的内存大小超过6G,CMS是不给力的,容易出现stop-the-world
建议使用G1 GC
注释掉:
JAVA_OPTS=”$JAVA_OPTS -XX:+UseParNewGC”
JAVA_OPTS=”$JAVA_OPTS -XX:+UseConcMarkSweepGC”JAVA_OPTS=”$JAVA_OPTS -XX:CMSInitiatingOccupancyFraction=75″
JAVA_OPTS=”$JAVA_OPTS -XX:+UseCMSInitiatingOccupancyOnly”
修改为:
JAVA_OPTS=”$JAVA_OPTS -XX:+UseG1GC”
JAVA_OPTS=”$JAVA_OPTS -XX:MaxGCPauseMillis=200″如果G1 GC优点是减少stop-the-world在几率,但是CPU占有率高。
需要更优化的性能,你可以参考 http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/G1GettingStarted/index.html2、合理配置主节点和数据节点 配置文件:conf/elasticsearch.yaml
node.master: true
node.data: true1) 当master为false,而data为true时,会对该节点产生严重负荷;
2) 当master为true,而data为false时,该节点作为一个协调者;
3) 当master为false,data也为false时,该节点就变成了一个负载均衡器。3、设置合理的刷新时间
建立的索引,不会立马查到,这是为什么elasticsearch为near-real-time的原因
需要配置index.refresh_interval参数,默认是1s。
你可以像 http://zhaoyanblog.com/archives/299.html 文件中一样,调用接口配置
也可以直接写到conf/elasticsearch.yaml文件中
index.refresh_interval:1s
这样所有新建的索引都使用这个刷新频率。
加上:
export ES_HEAP_SIZE=10g或者启动的时候设置参数,确保Xmx和Xms大小相等:
./bin/elasticsearch -Xmx10g -Xms10g
1、内存优化
在bin/elasticsearch.in.sh中进行配置
修改配置项为尽量大的内存:
ES_MIN_MEM=8g
ES_MAX_MEM=8g
两者最好改成一样的,否则容易引发长时间GC(stop-the-world)elasticsearch默认使用的GC是CMS GC
如果你的内存大小超过6G,CMS是不给力的,容易出现stop-the-world
建议使用G1 GC
注释掉:
JAVA_OPTS=”$JAVA_OPTS -XX:+UseParNewGC”
JAVA_OPTS=”$JAVA_OPTS -XX:+UseConcMarkSweepGC”JAVA_OPTS=”$JAVA_OPTS -XX:CMSInitiatingOccupancyFraction=75″
JAVA_OPTS=”$JAVA_OPTS -XX:+UseCMSInitiatingOccupancyOnly”
修改为:
JAVA_OPTS=”$JAVA_OPTS -XX:+UseG1GC”
JAVA_OPTS=”$JAVA_OPTS -XX:MaxGCPauseMillis=200″如果G1 GC优点是减少stop-the-world在几率,但是CPU占有率高。
需要更优化的性能,你可以参考 http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/G1GettingStarted/index.html2、合理配置主节点和数据节点 配置文件:conf/elasticsearch.yaml
node.master: true
node.data: true1) 当master为false,而data为true时,会对该节点产生严重负荷;
2) 当master为true,而data为false时,该节点作为一个协调者;
3) 当master为false,data也为false时,该节点就变成了一个负载均衡器。3、设置合理的刷新时间
建立的索引,不会立马查到,这是为什么elasticsearch为near-real-time的原因
需要配置index.refresh_interval参数,默认是1s。
你可以像 http://zhaoyanblog.com/archives/299.html 文件中一样,调用接口配置
也可以直接写到conf/elasticsearch.yaml文件中
index.refresh_interval:1s
这样所有新建的索引都使用这个刷新频率。
相关文章推荐
- elasticsearch三个重要的优化
- elasticsearch三个重要的优化
- 排名最重要的三个优化阶段分析 --------------------->>转至(卧牛SEO/武汉SEO http://blog.sina.com.cn/zhengkangseo )
- Elasticsearch的三个重要的优化
- elasticsearch三个重要的优化
- 使用Akka来优化Spark+ElasticSearch的准实时系统
- 使用Akka来优化Spark+ElasticSearch的准实时系统
- Elasticsearch之优化
- 20_ElasticSearch rescoring机制优化近似匹配搜索的性能
- elasticsearch三个重要的优化
- CRM BP SEARCH 优化
- elasticsearch ik中文分词器的使用详解
- 实时搜索 elasticsearch vs solr
- Elasticsearch+Fluentd+Kibana的日志收集分析系统
- 分布式搜索Elasticsearch——配置
- lasticsearch-索引优化篇2
- mongo 三个shard重要的命令
- Elasticsearch java API (6) index API
- elasticsearch class file for java.lang.AutoCloseable not found