ES优化总结(特别是在bulk大量数据到ES的时候),持续续更新中。。。。
来源:互联网 发布:java并发编程 用途 编辑:程序博客网 时间:2024/05/16 19:49
1、refresh时间间隔
优化点: 减少刷新频率,降低潜在的写磁盘性能损耗, 默认的刷新时间间隔是1s,对于写入量很大的场景,这样的配置会导致写入吞吐量很低,适当提高刷新间隔,可以提升写入量,代价就是让新写入的数据在60s之后可以被搜索,新数据可见的及时性有所下降。
在bulk大量数据到ES集群的时候可以关闭刷新频率,把其值设置为-1就是关闭了刷新频率,在导入完之后设置成合理的值即可,例如30s或者60s即可。
curl -XPUT '192.168.2.181:9200/index/_settings?pretty' -d '{ "index" : { "refresh_interval" : "-1" }}'
2、replica数目设置
在bulk大量数据到ES集群的可以把副本数设置为0,在数据导入完成之后再设置为1或者你集群的适合的数目。
curl -XPUT '192.168.2.181:9200/index/_settings?pretty' -d '{ "index" : { "number_of_replicas" : 0 }}'
3、merge相关参数
参考官网建议:https://www.elastic.co/guide/en/elasticsearch/reference/1.7/index-modules-merge.html"index.merge.policy.floor_segment": "100mb"
"index.merge.scheduler.max_thread_count": "1"
"index.merge.policy.max_merged_segment":"100m"
curl -XPUT '192.168.2.181:9200/index/_settings?pretty' -d '{ "index.merge.policy.floor_segment": "100mb", "index.merge.scheduler.max_thread_count": "1", "index.merge.policy.max_merged_segment":"100m"}'
4、Translog优化建议 参考官网:https://www.elastic.co/guide/en/elasticsearch/reference/1.7/index-modules-translog.html#index-modules-translog
{ "index.translog.flush_threshold_size": "100m"}
5、修改配置文件调整ES的JVM内存大小
这个值不能超过32g,一般机器好点设置成十几个g速度就非常快了。具体要看自己机器的内存(使用free命令查看,千万不要超过自己机器内存啦,balala..)
vim config/jvm.options
-Xms12g-Xmx12g
6、去掉mapping中_all字段
Index中默认会有_all这个字段,默认会把所有字段的内容都拷贝到这一个字段里面,这样会给查询带来方便,但是会增加索引时间和索引尺寸。
"_all":{"enabled":false}
例如:
{ "myindex":{ "mappings":{ "snapshot":{ "_all":{ "enabled":false }, "properties":{ "AltWeightedAvgBidPx":{ "type":"long" }, "AltWeightedAvgOfferPx":{ "type":"long" } } } } }}
7、
- ES优化总结(特别是在bulk大量数据到ES的时候),持续续更新中。。。。
- ES资料(持续更新)
- ES script(持续更新)
- es注意事项----持续更新
- ES监控(持续更新)
- ES监控(持续更新) .
- ES postfilter的危害(持续更新)
- ES Search APIs(持续更新)
- ES Geo(地理位置)相关 (持续更新)
- es的java bulk load
- ES 父子关系(持续更新)
- ES优化总结
- ES get vs search的微妙关系(持续更新)
- OpenGL ES总结(五)OpenGL ES中pipeLine机制
- OpenGL ES总结(六)OpenGL ES中EGL
- ES缓存fielddata(avoid)、doc values详解(持续更新)
- ES 常用管理REST API (持续更新)
- ES scroll(ES游标) 解决深分页 (持续更新)
- 初学logistic回归
- Kafka java api-生产者代码、高性能吞吐
- 最新版MySQL操作---语句规范
- SpringBoot小程序
- 我的学习资源
- ES优化总结(特别是在bulk大量数据到ES的时候),持续续更新中。。。。
- mongo我的库
- Spring Boot实现文件上传
- python中join()函数
- Could not update Activiti database schema: unknown version from database: '5.20.0.1'
- MAC上nginx启动,浏览器访问项目不识别问题
- (十六)eazyUI框架
- 安卓自定义界面——textview显示带小红点
- CentOS Vsftpd配置