`
zhousheng29
  • 浏览: 150663 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ElasticSearch优化的一些方法

阅读更多
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更快
测试效果,速度提高不明朗,且报错。去除
分享到:
评论
1 楼 zhanlanlubai921 2016-05-17  
楼主你优化后,索引速度最高能达到每秒多少记录

相关推荐

    Elasticsearch优化及升级1

    为了确保其高效稳定运行,对Elasticsearch进行优化和升级是必不可少的。以下是一些关键的优化策略,主要关注内存管理、系统配置、索引设置以及网络配置。 1. 内存优化:Elasticsearch 建议使用系统内存的50%作为堆...

    es(elasticsearch)集群安装优化

    对于集群的监控和优化是很重要的一部分,如果想持久维护集群,单单靠增加物理内存,cpu,硬盘是不够的,必须通过一些方法来进行优化。本文档包含: 1、集群结点角色分配; 2、集群得机器内存设置; 3、ES集群的heap...

    elasticsearch elasticsearch-6.2.2 elasticsearch-6.2.2.zip 下载

    Elasticsearch 6.x系列相较于5.x版本有了显著的改进和增强,尤其是在性能优化和安全性方面。具体到6.2.2版本,它不仅继承了6.x系列的优势,还针对早期版本的一些已知问题进行了修复,提高了系统的稳定性和可靠性。...

    百度Elasticsearch实践及优化-高攀

    综上所述,百度在Elasticsearch的实践和优化方面有着深度探索,从数据导入到查询优化,再到集群管理和资源调度,都有一套完善的方法论。这些经验不仅适用于百度自身,也为整个Elasticsearch社区提供了有价值的参考。...

    elasticSearch(ES)最新版 ik分词插件7.10 elasticsearch-analysis-ik-7.10.0

    Elasticsearch(ES)是一种流行的开源全文搜索引擎,它基于Lucene构建,提供了分布式、RESTful风格的搜索和分析引擎服务。在中文环境下,为了实现精确的分词和搜索,我们需要安装适合版本的分词插件,如“elastic...

    elasticsearch服务器安装包

    在安装Elasticsearch之前,我们需要了解一些基本概念和步骤: 1. **Java运行环境**:Elasticsearch是用Java编写的,因此,安装前必须确保系统上已安装了JDK,并且版本至少为8。可以通过`java -version`命令检查Java...

    elasticsearch-analysis-pinyin-7.4.0 es拼音分词器7.4.0

    Elasticsearch(简称ES)是一款强大的开源搜索引擎,广泛应用于大数据领域的全文检索。它以其高可扩展性、实时性能以及丰富的分析能力著称。在中文环境下,由于汉字的复杂性,分词是实现有效搜索的关键步骤。为此,...

    Windows版本(8.11)ElasticSearch、elasticsearch-head、kibana、IK分词

    **Elasticsearch 8.11 for Windows** Elasticsearch 是一个开源的分布式搜索引擎,以其高可伸缩性、实时性、灵活性以及强大的数据分析能力而闻名。在Windows平台上部署Elasticsearch,用户可以利用其强大的搜索和...

    Elasticsearch 存储方式和管理优化细节1

    Elasticsearch 是一个分布式搜索引擎,其数据存储方式和管理优化对于高效检索和稳定运行至关重要。在Elasticsearch中,数据存储的基本单位是段(segment),每个段都是一个倒排索引,由Lucene生成。每次数据写入后,...

    基于.netcore搜索封装ElasticSearch.zip

    这个名为"基于.netcore搜索封装ElasticSearch.zip"的压缩包,显然包含了一个针对.NET Core平台的Elasticsearch客户端库,方便开发者在.NET Core应用中集成和操作Elasticsearch。 Elasticsearch是一个开源的分布式...

    Elasticsearch技术解析与实战+Elasticsearch权威指南

    在《Elasticsearch技术解析与实战》一书中,你将详细了解到如何安装配置Elasticsearch,设置集群,以及优化索引和查询性能。《Elasticsearch 权威指南(中文版)清晰PDF》则更深入地探讨了高级特性和最佳实践,包括...

    适用于elasticsearch7.12.1版本

    "elasticsearch-an" 可能是指 Elasticsearch 的一些特定配置或者插件,这个信息不完整,但可以推测可能涉及到的是 Elasticsearch 的自定义配置或者特定功能增强。 "ik分词器" 是针对中文处理的重要组件,全称为 ...

    ElasticSearch官方测试数据

    Elasticsearch(ES)是一种流行的开源全文搜索引擎,它基于Lucene库构建,被广泛用于大数据分析、日志聚合、实时搜索和索引等场景。官方提供的测试数据集是检验Elasticsearch功能、性能和稳定性的关键资源,可以帮助...

    ElasticSearch性能优化策略

    除了上述提及的服务器部署和配置外,还有其他一些措施可以帮助进一步优化ElasticSearch的性能: - **索引设计**:合理设计索引结构,比如使用更高效的数据类型、避免使用动态映射等。 - **查询优化**:优化查询语句...

    elasticsearch-6.8.18.rar(elasticsearch-6.8.18.zip)

    7. 插件系统:`plugins`目录包含了一些预安装的插件,这些插件可以扩展Elasticsearch的功能,比如添加新的分析器、可视化工具或者其他服务集成。 8. 日志记录:`logs`目录用于存放Elasticsearch运行时的日志文件,...

    elasticsearch7.14.0.zip

    Elasticsearch 7.14.0 是一个高度可扩展的全文搜索引擎,广泛应用于日志分析、实时数据分析和全文检索等多个领域。这个压缩包包含了针对Windows和Linux操作系统的安装包,便于在不同环境下部署和使用Elasticsearch。...

    elasticsearch常用版本

    标题提及的"elasticsearch常用版本"意味着我们将关注几个Elasticsearch的主流版本,包括elasticsearch-2.4.4、elasticsearch-6.2.3。每个版本都有其特定的特性和改进,适应不同的需求和环境。 1. **Elasticsearch ...

    elasticsearch分布式优化配置大全

    本人在实际的工作中,负责ES平台的搭建以及维护,在实际中总结的集群优化准则,所有集群通用,性能提升有3-5倍

    JAVA实现ElasticSearch的简单实例

    1. **Elasticsearch基础**:Elasticsearch(ES)是一个开源的、分布式全文搜索引擎,它提供了实时数据分析的能力,广泛用于日志分析、监控、搜索应用等领域。其核心特性包括分布式、RESTful接口、实时性、可扩展性和...

Global site tag (gtag.js) - Google Analytics