elasticsearch三个重要的优化
来源:互联网 发布:谈谈你对数据库的认识 编辑:程序博客网 时间:2024/05/01 01:23
编辑:elasticsearch-2.3.3/bin/ elasticsearch
加上:
或者启动的时候设置参数,确保Xmx和Xms大小相等:
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.html
2、合理配置主节点和数据节点
配置文件:conf/elasticsearch.yaml
node.master: true
node.data: true
1) 当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三个重要的优化
- Elasticsearch的三个重要的优化
- elasticsearch的重要概念
- 三个重要的数据结构
- Python的三个重要数据类型
- avi_read_packet重要的三个部分
- Spring三个重要的注解
- 《道德经》的三个重要版本
- git 三个重要的状态
- [转帖]三个重要的邮件系统相关协议
- tomcat连接池的三个重要参数
- 企业信息化的三个重要步骤
- 项目管理的三个重要概念
- tomcat连接池的三个重要参数
- 互联网新闻营销的三个重要点
- android比较重要的三个img文件
- MFC中三个重要的宏
- RSA加密时OSStatus状态-34018
- java--认识
- 桥基站设备通信协议-AIS
- 写一个Perl包来负责流程调用软件
- 彻底解决maven下载慢的问题
- elasticsearch三个重要的优化
- openMP之二parallel Construct
- hibernate 执行sql ,select 返回string long
- Android中使用MediaCodec硬件解码,高效率得到YUV格式帧,快速保存JPEG图片(不使用OpenGL)(附Demo)
- 钽电容和铝电解电容的区别
- C语言实现:查找一个整数中1的个数
- Java 8系列之Stream的强大工具Collector
- Struts2(二)action的三种方式
- Jenkins持续集成+蒲公英上传内测遇到的问题及解决方法