博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Elasticsearch的一些优化
阅读量:4188 次
发布时间:2019-05-26

本文共 1768 字,大约阅读时间需要 5 分钟。

1. 多线程程序插入,可以根据服务器情况开启多个线程index
速度可以提高n倍, n>=2
2. 如果有多台机器,可以以每台设置n个shards的方式,根据业务情况,可以考虑取消replias
curl -XPUT 'http://10.1.*.*:9200/dw-search/' -d '{
"settings" : {
"number_of_shards" : 20,
"number_of_replicas" : 0
}
}'
这里设置20个shards, 复制为0,如果需要replicas,可以完成index后再修改为replicas>=1
原文:http://www.elasticsearch.org/guide/reference/api/admin-indices-create-index.html
3. 提高ES占用内存
内存适当调大,初始是256M, 最大1G,
调大后,最小和最大一样,避免GC, 并根据机器情况,设置内存大小,
$ bin/elasticsearch -f -Xmx4g -Xms4g -Des.index.storage.type=memory
原文:http://www.elasticsearch.org/guide/reference/setup/installation.html
4. 减少shard刷新间隔
curl -XPUT 'http://10.1.*.*:9200/dw-search/_settings' -d '{
"index" : {
"refresh_interval" : "-1"
}
}'
完成bulk插入后再修改为初始值
curl -XPUT 'http://10.1.*.*:9200/dw-search/_settings' -d '{
"index" : {
"refresh_interval" : "1s"
}
}'
5. 设置一个shard的段segment最大数
可以减少段文件数,提高查询速度
curl -XPOST 'http://10.1.*.*:9200/dw-search/_optimize?max_num_segments=5'
注意:有时候可能需要多次执行
原文:http://www.elasticsearch.org/guide/reference/api/admin-indices-update-settings.html
原文:http://www.elasticsearch.org/guide/reference/index-modules/merge.html
6. 去掉mapping中_all域
Index中默认会有_all的域,这个会给查询带来方便,但是会增加索引时间和索引尺寸
"_all" : {"enabled" : false}
原文:http://www.elasticsearch.org/guide/reference/mapping/all-field.html
curl -XPOST 'http://10.1.*.*:9200/dw-search/pt_normal/_mapping' --data-binary @pt_normal_properties.mapping
7. 设置source为压缩模式或者disable
compress=true这个能大大减少index的尺寸
disable将直接没有_source域
8. 增加merge.policy.merge_factor数
设置merge.policy.merge_factor到30,初始是10
增加这个数需要更多的内存,bulk index可以调大这个值.
如果是即时索引,应该调小这个值
原文:http://www.elasticsearch.org/guide/reference/index-modules/merge.html
9. 修改Client获得方式为
Node node = nodeBuilder().client(true).node();
Client client = node.client()
相比transport client更快
测试效果,速度提高不明朗,且报错。去除

转载地址:http://atjoi.baihongyu.com/

你可能感兴趣的文章
DWR 与 SPRING 集成配置
查看>>
JSTL 语法及参数
查看>>
懒加载
查看>>
DWR 几种使用方法
查看>>
DWR 学习及深入
查看>>
OA系统的技术发展
查看>>
EXT 基本使用
查看>>
Ext 小知识点
查看>>
网站架构收集(I)(转)
查看>>
JFreeChart教程 -- 入门
查看>>
JFreeChart各种图形的制作
查看>>
JFreeChart 应用全过程
查看>>
Spring 架构
查看>>
给你感情保鲜
查看>>
ORCALE 优化常青树
查看>>
struts 2.3.7+spring3.2.0+MyBatis3.1 整合
查看>>
MyBatis3.1.1+Spring3.1.2+Struts2.3.4.1
查看>>
Java获得CPU序列号和网卡Mac地址
查看>>
Apache Sentry架构介绍
查看>>
Oozie简介
查看>>