Elasticsearch(ES) 配置建议
创始人
2024-11-14 20:35:05

Elasticsearch的内存建议设置为32GB以下,‌主要是因为Java虚拟机(‌JVM)‌在内存小于32G时会采用内存对象指针压缩技术,‌以提高内存使用效率。‌这种技术通过压缩对象指针,‌使得32位的指针可以引用40亿个对象,‌而不是40亿个字节,‌从而在堆内存达到32G时,‌仍然能够使用32bit的指针表示。‌然而,‌一旦内存超过这个界限,‌指针将切换到普通对象的指针,‌这将导致每个对象的指针变长,‌从而浪费更多的CPU和内存带宽,‌降低性能。‌此外,‌当JVM的内存设置为32GB以上时,‌实际使用的内存效果会下降,‌因为压缩下的对象会比未压缩的要小一些,‌正常是20-30%的差异。‌因此,‌为了效率和性能的考虑,‌建议将Elasticsearch的内存设置在32GB以下。

尽管内存充足,也应避免超过32GB的使用,以免浪费资源、降低CPU效率,并增加垃圾回收(GC)的负担。

推荐配置:

日志类特点磁盘集群节点数
搜索类写入较少,查询频繁单个分片不超过20G

1:16

(内存:节点要存储的数据)

日志类写入频繁,查询较少单个分片不要大于50G

1:48-1:96

(内存:节点要存储的数据)

冷节点写入较少,查询较少1:96

对于数据量较小(100GB以下)的index

  • 往往写入压力查询压力相对较低,一般设置3~5个shard,numberofreplicas设置为1即可(也就是一主一从,共两副本)。

对于数据量较大(100GB以上)的index:

  • 一般把单个shard的数据量控制在(20GB~50GB)
  • 让index压力分摊至多个节点:可通过下面的参数来强制限定一个节点上该index的shard数量,让shard尽量分配到不同节点上。参数:
  • index.routing.allocation.totalshardsper_node

相关内容

热门资讯

裸辞做“一人公司”,我后悔了 去年这个时候,一位以色列程序员正在东南亚旅行。他顺手把一个在脑子里转了很久的想法做成了产品,一个让任...
南京建成国内首个Pre-6G试... 4月21日,2026全球6G技术与产业生态大会在南京开幕。全息互动技术展台前,一名远在北京的工作人员...
超梵求职受邀参加“2025抖音... 超梵求职受邀参加“2025抖音巨量引擎成人教育行业生态大会”,探讨分享优质内容传播,服务万千学员。 ...
摩托罗拉Razr 2026(R... IT之家 4 月 22 日消息,摩托罗拉宣布新一代 Razr 折叠手机将于 4 月 29 日在美国发...
库克卸任,特纳斯领航:苹果新纪... 苹果首席执行官蒂姆·库克将卸任,硬件工程主管约翰·特纳斯将接任,苹果公司今天宣布此事。 库克将在夏季...