一、Segment Memory

词典的前缀索引(Term Index),具体概念参考相关文档。
别小看只是前缀的索引,如果索引库多,数据量大,每个节点达到10G不稀奇,node没节点heap内存才设置了32G啊。 :joy:

  1. 查看方法
    _cat/segments
    _cat/segments?v&h=index,shard,segment,size,size.memory
    _cat/nodes?v&h=ip,port,sm,heap.*

  2. 解决方法
    删除不用的索引。

关闭索引 (文件仍然存在于磁盘,只是释放掉内存)。需要的时候可以重新打开。

定期对不再更新的索引做optimize (ES2.0以后更改为force merge api)。这Optimze的实质是对segment file强制做合并,可以节省大量的segment memory。

二、Filter Cache

查询缓存,查询次数多了,改缓存消耗的内存也是大数字了,可以通过query-max等参数限制。
  1. 查看方法:

_nodes/d28-84/stats/indices/query_cache

  1. 解决方法:

$ curl -XPOST ‘http://localhost:9200/clientlog-201607,clientlog-201606/_cache/clear’

/kimchy,elasticsearch/_cache/clear?request_cache=true

三、Field Data cache

indices.breaker.fielddata.limit indices.fielddata.cache.size 等参数可以限制

1.解决方法:
启用Doc Values,禁用_all

2.查看方法:

/_stats/fielddata/
# Indices Stat
curl -XGET 'http://localhost:9200/_stats/fielddata/?fields=field1,field2&pretty'# You can use wildcards for field names
curl -XGET 'http://localhost:9200/_stats/fielddata/?fields=field*&pretty'

es 2.x后,默认都是docvalue,改问题越来越好解决了,不然lucene的field data cache也是很惊人的大,偶是很少用field data cache的。

四、Bulk Queue

批量写入数据bulk的时候队列中保存的数据占用的内存。
别小看这里的数据量,如果队列1000个。每个bulk 4092行,每行10k这样占用的内存也超级惊人啊。

1、查看方法
/_cat/thread_pool?v&h=host,bulk.*
threadpool:
bulk:
type: fixed
size: 60
queue_size: 1000
2、解决方法:
设置队列小一点,forcemerge写入数据。
本工程的队列值可以控制写入数据,减少队列数据。

五、Indexing Buffer

Indexing Buffer是用来缓存新数据,当其满了或者refresh/flush interval到了,就会以segment file的形式写入到磁盘。
indices.memory.index_buffer_size
Accepts either a percentage or a byte size value. It defaults to 10%, meaning that 10% of the total heap allocated to a node will be used as the indexing buffer size.
indices.memory.min_index_buffer_size
If the index_buffer_size is specified as a percentage, then this setting can be used to specify an absolute minimum. Defaults to 48mb.
indices.memory.max_index_buffer_size
If the index_buffer_size is specified as a percentage, then this setting can be used to specify an absolute maximum. Defaults to unbounded.
indices.memory.min_shard_index_buffer_size
Sets a hard lower limit for the memory allocated per shard for its own indexing buffer. Defaults to 4mb

六、超大搜索聚合结果集的fetch

1、常用或者必用查询字段作route,数据在不同node分布均匀;
2、对超时间查询请求作分析,增加wrapper作屏蔽, 判断slow log显示的查询;
3、预处理数据,高并发常用查询使用预处理索引库(最佳方式);
4、将实时ad-hoc请求适用spark+es合并执行方式处理(es-hadoop spark)。

es 主要内存使用大户相关推荐

  1. ES Segment Memory——本质上就是segment中加到内存的FST数据,因此segment越多,该内存越大...

    ElasticSearch优化系列四:ES的heap是如何被瓜分掉的 转自:https://www.jianshu.com/p/f41b706db6c7 以下分别解读几个我知道的内存消耗大户: Seg ...

  2. 亿流量大考(4):自研ES+HBase+纯内存的高性能毫秒级查询引擎

    V-xin:ruyuanhadeng获得600+页原创精品文章汇总PDF 一.前情回顾 上篇文章(<亿流量大考(3):不加机器,如何抗住每天百亿级高并发流量?>)聊了一下系统架构中,百亿流 ...

  3. ES为什么限制内存小于32G,为什么小于系统内容的50%

    ES为什么内存最好小于32G ES是用java开发的 java32位虚拟机的寻址最大4G,64位理论上来说无限大,请参考java Object的header结构. 但是实际上64位的地址指针会导致一下 ...

  4. Elasticsearch内存分配设置详解

    Elasticsearch默认安装后设置的内存是1GB,对于任何一个现实业务来说,这个设置都太小了.如果你正在使用这个默认堆内存配置,你的集群配置可能会很快发生问题.   这里有两种方式修改Elast ...

  5. ElasticSearch优化系列二:机器设置(内存)

    点击"阅读原文"直接打开[北京站 | GPU CUDA 进阶课程]报名链接 预留一半内存给Lucence使用 一个常见的问题是配置堆太大.你有一个64 GB的机器,觉得JVM内存越 ...

  6. 看完这篇,让你不再惧怕内存优化

    对于安卓应用开发来说,内存究竟会遇到什么样的问题,有什么方法可以用来测试和分析,以及有什么样的策略可以去实践优化,今天就来好好聊聊这个话题. ​ 缘起 现代计算机是基于冯*诺依曼架构的,计算机的软件是 ...

  7. 内存优化: 纹理压缩技术

    相比普通格式图片,纹理压缩可以节省大量显存和 CPU 解码时间,且对 GPU 友好. 背景 游戏开发中纹理是内存占用大户,移动设备因为内存有限,问题更加明显.据统计,淘宝互动小程序性能卡口 70% 以 ...

  8. Elasticsearch 合理内存分配

    Elasticsearch默认安装后设置的内存是1GB,对于任何一个业务部署来说,这个都太小了.如果你正在使用这些默认堆内存配置,你的集群配置可能有点问题. 这里有两种方式修改Elasticsearc ...

  9. Elasticsearch堆内存为什么建议设置为31G(小于32G)?

    Elasticsearch 默认安装后设置的堆内存是 1 GB.对于任何一个业务部署来说, 这个设置都太小了.如果你正在使用这些默认堆内存配置,您的集群可能会出现问题. 这里有两种方式修改 Elast ...

最新文章

  1. log4j中调试与错误日志分开_idea中log4j日志插件报错
  2. ustc小道消息20211223
  3. fragment嵌套,viewpager嵌套 不能正确显示
  4. JAVA分布式篇1——Linux
  5. Linux之export命令
  6. java对接金蝶接口
  7. maven命令打jar包
  8. 51单片机制作简易计算器(动态数码管、矩阵按键)
  9. 遥感影像反差增强、直方图均衡化
  10. 如何根据vin码查询_车架号查询-VIN查询-车辆识别码查询-宜配网
  11. 新元宇宙每周连载《地球人奇游天球记》第十三回火星烧烤
  12. 小白都能看懂的go语言包管理工具DEP详解
  13. 精品慕课资源推荐 计算机网络
  14. linux安装ie浏览器吗,Ubuntu 上安装IE浏览器的方法
  15. 芯片ECO的种类和修复方法介绍
  16. Canvas+html+css+position定位
  17. 关于到年底日常生活的工作计划
  18. Zend引擎探索 之 PHP中前置递增不返回左值
  19. 世界首富比尔·盖茨面湖而建的6000万美元豪宅被誉为美国除白宫外最受瞩目的名人官邸
  20. GitHub 新手详细教程

热门文章

  1. SpringBoot整合支付宝付款(沙箱环境)
  2. Caj文件怎么转换成pdf?Caj转pdf在线转换器推荐
  3. TryHackMe学习笔记-Windows PrivEsc Arena
  4. 石家庄市学府路机动车科目三考场路线详细教案
  5. 天猫618红包口令怎么获取?天猫618红包使用条件有哪些?
  6. ARM汇编:MRS和MSR指令
  7. 互联网金融系统实现之数据平台交互验证方式
  8. python爬虫——智联招聘(上)
  9. 信息系统项目管理师计算题(进度管理计算)
  10. 计算机无法共享的原因,文件夹无法共享的原因及其解决办法