如何解析elasticsearch内存分配与集群规划

发布时间:2021-12-16 17:31:38 作者:柒染
来源:亿速云 阅读:351

今天就跟大家聊聊有关如何解析elasticsearch内存分配与集群规划,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

1.集群节点内存分配

  1. 每个es节点使用的内存分为两部分,一是JVM堆内存,分配给es进程,一种是堆外内存,供Lucene使用,因此堆内存越小,Elasticsearch(更快的 GC)和 Lucene(更多的内存用于缓存)的性能越好。官方建议把 50% 的可用内存作为 Elasticsearch 的堆内存,保留剩下的 50%。

  2. 每台节点的JVM内存不要超过32GB。 当JVM内存小于32GB时,会采用了内存指针压缩(compressed oops)技术。一旦你越过那个神奇的 ~32 GB 的边界,指针就会切回普通对象的指针。 每个对象的指针都变长了,就会使用更多的 CPU 内存带宽,也就是说你实际上失去了更多的内存。事实上,当内存到达 40–50 GB 的时候,有效内存才相当于使用内存对象指针压缩技术时候的 32 GB 内存。即便你有足够的内存,也尽量不要 超过 32 GB。因为它浪费了内存,降低了 CPU 的性能,还要让 GC 应对大内存。

  3. 禁用Linux系统的交换区

2. 索引分片与集群内存

  1. elasticsearch 官方建议每个分片对应的数据不要超过50GB。

  2. 每个节点1GB内存对应于不多于20个分片。即一台节点最多可以存储32*20个分片

可以根据以上经验去判断集群中的节点个数

看完上述内容,你们对如何解析elasticsearch内存分配与集群规划有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

推荐阅读:
  1. ElasticSearch集群搭建
  2. elasticsearch 集群部署

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

elasticsearch

上一篇:如何进行ECS中逻辑卷的创建和扩容操作

下一篇:怎么解析Python中的Dict

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》