elasticsearch 读写性能调优

这篇具有很好参考价值的文章主要介绍了elasticsearch 读写性能调优。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

elasticSearch 读写性能调优

elasticSearch作为java后端和大数据核心的技术之一,肯定在面试当中它的性能调优肯定是要问的,看了好多人整理的性能调优方案,确实受益匪浅。自己整理一份简单的性能调优,能应付面试就行了。哈哈哈!!!

一、写入调优
  • 增加flush时间间隔,目的是减少数据写入磁盘的频率,减少磁盘的IO
  • 增加buffer到segment file 的refresh的时间间隔,默认是1s。目的是减少segment文件的创建,减少segment的merge的次数,merge是发生在jvm中的,可能导致full GC。增加refresh的时间间隔的缺点就是降低了搜索的时效性。
  • 增加Buffer大小,本质也是减少refresh的时间间隔,因为导致segment文件创建的原因不仅有时间的阈值,还有Buffer空间的大小,写满了也会创建。默认Buffer的大小是 48MB<默认值堆大小的10%<默认最大无限制
  • 大批量的数据写入尽量控制在低检索请求的时间段,大批量的写入请求越集中越好。
  1. 减小读写之间的资源抢占,读写分离
  2. 当检索请求数量很少的时候,可以减少甚至完全删除副本的分片,关闭segment的自动创建以达到高效利用内存的目的,因为副本的存在会导致主从之间频繁的进行数据同步,大大增加服务器的资源占用
  • Lucene的数据的fsync是发生在OS cache的,要给OS cache 预留足够的内存大小。

  • 通用最小的算法,能用更小的字段就用更小的,keyword类型比int更快。

  • ignore_above:字段保留的长度,越小越好

  • 调整_source字段,通过include和exclude过滤

  • store:开辟另一块存储空间,可以节省带宽。

    注意:_source设置为false则不存储元数据,可以节省磁盘,并不影响搜索,但是禁用source也会存在弊端。

    1. update,update_by_query 和reindex 不可用
    2. 高亮失效
    3. reindex失效,原本可以修改的mappingde 部分参数将无法修改,并且无法升级索引
    4. 无法查看元数据和聚合搜索
    5. 影响索引的容灾能力
  • 禁用all字段:all字段的包含所有的字端分词后的Term,作用是可以在搜索时不指定特定字段,从所有字段中检索,es 6.0之前需要手动的关闭

  • 关闭Norms字段:计算评分用,如果你确定当前字段将来不需要计算评分,设置为false可以节省大量的磁盘空间,有助于提升性能。常见的比如filter和agg字段,都可以设为关闭

  • 关闭index_options(谨慎使用,高端操作):词设置用于index time 过程中那些内容会被添加到倒排索引文件中。例如TF,docCount、postion、offset,减少option的选项可以减少在创建索引的CPU占用率,不过在实际场景中很难确定业务是否会用到这些信息,除非是在一开始就非常确定用不到,否则不建议删除。文章来源地址https://www.toymoban.com/news/detail-639526.html

二、搜索速度调优

  • 禁用swap
  • 使用filter 代替query
  • 避免深度分页,避免单页数据过大,可以参考百度或者淘宝的做法。es 提供两种解决方案scroller search 和search after
  • 注意关于index type的使用
  • 避免使用稀疏数据
  • 避免使用单索引业务重耦合
  • 命名规范
  • 冷热分离的架构设计
  • fileddata:搜索时正派索引,doc_value 为index time正排索引
  • enable :是否创建倒排索引
  • doc_values:正排索引,对于不需要聚合的字段,关闭正排索引可节省资源,提高查询速度
  • 开启自适应副本(ARS),6.1版本支持,7.0默认开启

到了这里,关于elasticsearch 读写性能调优的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ES 性能调优,这可能是全网最详细的 Elasticsearch 性能调优指南

    性能调优是一件大而细的活儿。技术开发没有银弹,也就是本质上是没有所谓可应对任何场景的通用\\\"最优配置\\\"的。如果有,那么出厂何必不直接给出呢?所以理解每一项优化配置的含义很重。在当前情况下为最优配置,但是换一种场景就未必了。 废话不多说,直接上干货!

    2024年02月03日
    浏览(41)
  • Elasticsearch专栏-8.es读写性能及优化

    服务器资源 资源 数值 服务器 华为 系统 centos7.9 cpu Intel® Core™ i5-10500 CPU @ 3.10GHz、6核12线程 mem 62G disk 机械硬盘、3.6T 单机写入性能 将es堆内存增大到20G,其余配置不做任何修改,数据单条写入。测试结果如下 线程 线程延迟时间(ms) 数据量(W) 平均响应时间(ms) QPS 300 0 5.9 338

    2023年04月12日
    浏览(33)
  • Elasticsearch大数据量写入调优和原理解析

    千万、亿级别数据批量写入ES的调优和原理解析 Elasticsearch version (bin/elasticsearch --version): 7.8   Plugins installed: kibana   JVM version (java -version): java version \\\"1.8.0_102\\\" OS version (uname -a if on a Unix-like system): Linux 4.9.0-4-amd64 #1 SMP Debian 4.9.65-3 (2017-12-03) x86_64 GNU/Linux ES节点:3台,4C16G,JVM8G E

    2023年04月12日
    浏览(36)
  • elasticsearch 索引数据多了怎么办,如何调优,部署?

    当Elasticsearch索引的数据量不断增加时,可以考虑以下调优和部署措施: 增加索引规模:Elasticsearch支持动态增加索引,可以根据数据量的增长情况逐步增加新的索引。同时,也可以考虑使用分片技术,将数据分散到多个分片中,以提高查询性能和扩展性。 优化数据类型:根据

    2024年02月20日
    浏览(25)
  • ElasticSearch系列-索引原理与数据读写流程

    倒排索引(Inverted Index) 也叫反向索引,有反向索引必有正向索引。通俗地来讲, 正向索引是通过key找value,反向索引则是通过value找key。ES底层在检索时底层使用的就是倒排索引。 现有索引和映射如下: 先录入如下数据,有三个字段title、price、description等 _id title price descri

    2024年02月08日
    浏览(39)
  • Elasticsearch调优

    背景 Elasticsearch(ES)作为NOSQL+搜索引擎的有机结合体,不仅有近实时的查询能力,还具有强大的聚合分析能力。因此在全文检索、日志分析、监控系 统、数据分析等领域ES均有广泛应用。而完整的Elastic Stack体系(Elasticsearch、Logstash、Kibana、Beats),更是提供了数据采集、清洗

    2024年02月03日
    浏览(30)
  • ElasticSearch 调优笔记

    ES官方调优指南 第一部分:调优索引速度 第二部分:调优搜索速度 第三部分:通用的一些建议 英文原文: https://www.elastic.co/guide/en/elasticsearch/reference/current/how-to.html ES发布时带有的默认值,可为es的开箱即用带来很好的体验。全文搜索、高亮、聚合、索引文档 等功能无需用户

    2024年02月01日
    浏览(20)
  • ElasticSearch 调优

    第一部分:调优索引速度 第二部分:调优搜索速度 第三部分:通用的一些建议 英文原文:https://www.elastic.co/guide/en/elasticsearch/reference/current/how-to.html ES发布时带有的默认值,可为es的开箱即用带来很好的体验。全文搜索、高亮、聚合、索引文档 等功能无需用户修改即可使用

    2023年04月09日
    浏览(17)
  • 最全面的Elasticsearch查询调优

    将内存分配给文件系统缓存 ​ Elasticsearch严重依赖文件系统缓存来增加搜索速度,我们要尽量确保至少有一半的可用内存进入文件系统,以便Elasticsearch可以将索引的热点区域保留在屋里内存中。 使用更快的硬件。 创建合适的文档索引映射 ​ 避免连接,nested可以使查询慢几

    2024年02月02日
    浏览(33)
  • 【elasticsearch】elasticsearch es读写原理

    今天来学习下 es 的写入原理。 Elasticsearch底层使用Lucene来实现doc的读写操作: 没有并发设计 lucene 只是一个搜索引擎库,并没有涉及到分布式相关的设计,因此要想使用Lucene来处理海量数据,并利用分布式的能力,就必须在其之上进行分布式的相关设计。 非实时 将文件写入

    2023年04月08日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包