Elasticsearch集群总体规划与性能调优方法

白下娱乐新闻网 2025-11-03

侦查响不应中都返完终究结果。

不采用较大化的网络数据传输

您向Query战略性投递一环战略性侦查请求,Query战略性中都的相互合作路由器调拨并解析请求;

相互合作路由器向每个远程战略性投递侦查特罗斯季亚涅齐API请求;

每个远程战略性将其响不应投递完相互合作路由器,此响不应相关联有关将在其上督导一环战略性侦查请求的引文和特罗斯季亚涅齐的信息;

相互合作路由器向每个特罗斯季亚涅齐投递侦查请求,仅限于其自己战略性中都的特罗斯季亚涅齐,每个特罗斯季亚涅齐独立督导侦查请求;

每个特罗斯季亚涅齐将其侦查结果投递完相互合作路由器;

从每个战略性收集结果后,相互合作路由器在一环战略性侦查响不应中都返完终究结果。

非常简要的说明参考资料:#ccs-min-roundtrips

较大化的网络数据传输则会减低与远程战略性之间的的网络来完次仅,这减低了的网络延后对侦查速率的直接影响,同时各个远程战略性的相互合作路由器则会事先将自己战略性的仅据资料肽键一次。即便如此,Query战略性相互合作路由器负面影响还则会较为大,因为要肽键所有战略性返完的仅据资料。

根据较大化的网络数据传输流程图,深入研究如下肽键时相互合作路由器的负面影响:

搜图

撰稿人

coordinator node2和coordinator node3调拨各自仅据资料路由器的1w条仅据资料(shard仅 * shard_size)并全量返完给coordinator node1,终究在coordinator node1上则会有2w条仅据资料,取前10条(size)返完给服务器端。当我们查阅的战略性、引文或者引文的shard非常多时,coordinator node1的负面影响则会越远来越远大。都是在中都理事则会显露现OOM的情况。

基于此再考虑,我们改动部分源码,降低了coordinator_size仅值,在第3步仅据资料战略性将侦查结果发完coordinator node1时只返完TOP N(前coordinator_size)。对于一个战略性,通过shard_size来平衡状态弹道与机动性;对于整个一环战略性提议,通过coordinator_size来平衡状态弹道与机动性。

不采用较大化的网络数据传输由于仅据资料不则会经过coordinatornode2和coordinator node3,所以不背书这样的改动。

在6.7.2新版本,一环战略性侦查只背书不采用较大化的网络数据传输的模式。

在7.6.2新版本,选项采用较大化的网络数据传输的模式进行时一环战略性侦查,可以在请求中都掺入ccs_minimize_roundtrips:false仅值来选择不采用较大化的网络数据传输。

4. 重组引文

业务范围内上数据传输的是快照仅据资料,只有降低,未修正,按赶紧时间累积,天然对引文的重组友好背书,并且如果按天重组引文有不限好处:

方便仅据资料截图,多于于留有周期的仅据资料直接采用定时脚本在夜间截图引文即可;

提升侦查肽键的可靠性,业务范围内上对仅据资料的侦查必需要携带赶紧时间范围内的仅值,根据该赶紧时间仅值转成为说明的引文这样侦查的shard就则会较为多于;

方便后期改动shard个仅和mapping,虽然shard个仅和mapping一般不改动,但也则会遇到特殊情况,如果必需改动,我们只必需改动template,之后新引文都则会不应用简介的shard增设和mapping增设,等业务范围内滚动仅据资料数据传输周期天仅后所有仅据资料就都则会不应用简介规则。

5. 手所写仅量

越远多的手所写仅量则会降低侦查的所发仅,但是同时也则会直接影响擦除引文的可靠性,租用FAT空间。可以根据仅据资料安全性来增设手所写的仅量,一般一个手所写是足够的,同时可以再考虑在引文创立时拥有非常多的手所写,当仅据资料多于于一定赶紧时间而变得不那么关键后,通过API减低手所写个仅。

二、ES战略性的设计经验

1. 文件系统和CPU

(1)文件系统分摊

Lucene能很好能用文件系统的内存,它是通过系统虚拟机管理的。如果未足够的文件系统内存空间,机动性则会受到直接影响。此外,公不应用于堆的文件系统越远多并不一定其他所有采用doc values 的文件名文件系统越远多于。参考资料不限法则:

当机器人文件系统低于64G时,遵循通用的法则,50% 给 ES,50% 想得到 lucene。

当机器人文件系统大于64G时,遵循不限法则:

如果正要的采用过场是全文检索,那么促请给ES Heap分摊4~32G的文件系统即可;其它文件系统想得到转换系统,供lucene采用(segments cache),以给予非常慢的查阅机动性;

如果正要的采用过场是肽键或查找,并且大多仅是numerics,dates,geo_points以及非过去时的字符串,促请分摊给ES Heap 4~32G的文件系统即可,上半部想得到转换系统来内存doc values;

如果采用过场是基于过去时字符串的肽键或查找,并不一定必需fielddata,这时必需非常多的heap size,促请机器人上运转多ES最简单,每个最简单保持牢固不多于于50%的ES heap增设。

文件系统的设计不要多于于32G,如果堆较小低于32GB,JVM可以能用堆栈JPEG,这可以大大下降文件系统的采用:每个堆栈4字符串而不是8字符串。这里32G意味著因为某些原因的直接影响有些误差,同样的设计到31G。

文件系统零点(Xms)与较大值(Xmx)的较小的设计相等,防止程序中在运转时发生变化堆文件系统较小,这是一个很耗系统天然资源的过程。

的设计jvm.options

-Xms31g

-Xmx31g

(2)GC增设

保持牢固GC的现有增设,选项增设为:Concurrent-Mark and Sweep(CMS),别改成 G1 GC,因为目前G1还有很多BUG。

(3)不准swap

不准swap,一旦并不需要文件系统与FAT的交换,则会引致灾难性的机动性弊端,可以通过在 elasticsearch.yml 中都的设计不限仅值以保持牢固JVM瞄准文件系统,前提ES的机动性。

bootstrap.memory_lock: true

(4)当前仅

processors的设计仅值的值决定了路由器allocated_processors的仅值值,而ES很内存出水口的较小都是基于allocated_processors的值来测算的。

改动elasticsearch.yml

elasticsearch.yml

node.processors: 56

在不限情况可以再考虑非常改该仅值:

在4台不应用程序中布防多个ES最简单,此时非常改仅值为解决弊端器仅仅当前仅一半;

差错地检验解决弊端器的仅量,此时非常改仅值进行时修正;

仅仅解决弊端器当前仅大于32,ES选项解决弊端器当前仅较大管制为32个,如果物理机的解决弊端器当前仅多于于了32个,为了非常充分能用CPU,可以非常改仅值为仅仅解决弊端器当前仅。如果可以选择CPU,非常多的当前仅比非常慢的CPU非常有意义。

2.擦除(1)降低Refresh赶紧时间间隔

ES擦除仅据资料时先擦除memory buffer中都,memory buffer则会振荡(index.refresh_interval选项1s)或者所写月入来作refresh转换,将段落擦除到一个最初segment中都。此时仅据资料可以被侦查,这就是为什么ES给予的是左右实时的侦查。如果系统对仅据资料延后促请不很高的话,通过延长refresh赶紧时间间隔(比如index.refresh_interval增设为30s),可以有效地提升引文速率,同时减低segment个仅下降segment合并负面影响。

改动引文的settings:

PUT /my_index/_settings

{

"index" : {

"refresh_interval" : "30s"

}

}

在导向大量仅据资料的时候可以暂时增设index.refresh_interval: -1和index.number_of_replicas:0来提升机动性,仅据资料导向未完成后还原增设。

(2)改动index_buffer_size的增设

上一条说memory buffer所写满时也则会启动时refresh转换,为了减低refresh转换,我们同时也要为了让降低memory buffer的较小。这是一个全局静态的设计,则会不应不应用于一个路由器上所有的特罗斯季亚涅齐上。

改动elasticsearch.yml:

# 遵从比例或字符串较小值。它选项为10%,这并不一定10%分摊给路由器的总堆中都的将用于所有特罗斯季亚涅齐共享的引文缓冲区较小。

indices.memory.index_buffer_size: 10%

# 如果index_buffer_size均须为比例,则此增设可不应用于均须绝对零点。选项为48mb。

indices.memory.min_index_buffer_size: 48mb

# 如果index_buffer_size均须为比例,则此增设可不应用于均须绝对较大值。选项为网易。

indices.memory.max_index_buffer_size: 10240mb

(3)改动translog相关的增设

refresh转换后,仅据资料擦除segment文件中都,此时segment在OS Cache中都,以上所有仅据资料都保普遍存在文件系统里,如果不应用程序中精神状态重启则仅据资料都不能恢复。所以仅据资料在擦除memory buffer的同时,记录当前转换到translog,每30分钟或者当translog中都的仅据资料较小远超持续性后,则会启动时一次flush转换将OS Cache中都的segment落盘,同时清理translog。

translog选项在每次引文、截图、预览或批量请求后则会递交到FAT。我们可以通过增设使translog异步递交来提升机动性:

PUT /my_index/_settings

{

"index" : {

"translog.durability": "async", # 打破模式。选项request 实时, async 异步

"translog.sync_interval": "10s" # 打破频率。选项5s,不能低于100ms

}

}

也可以控制translog的持续性来下降flush的频率:

PUT /my_index/_settings

{

"index" : {

"translog.flush_threshold_size": "1024mb" # translog持续性。选项512mb。如果远超则则会强迫flush,否则必需赶紧30分钟

}

}

3. 分摊

(1)延后分摊的设计

当战略性中都某个路由器离开战略性时:

master路由器则会将此路由器上的正特罗斯季亚涅齐对不应的手所写特罗斯季亚涅齐提升为正特罗斯季亚涅齐;

在其他路由器上改建因路由器上线而出错的特罗斯季亚涅齐;

改建未完成后很意味著还则会启动时战略性仅据资料平衡状态;

如果路由器又转至战略性,战略性仅据资料相不应平衡状态,将一些特罗斯季亚涅齐迁离到此路由器。

路由器很意味著因为的网络原因或硬件原因短暂离开战略性,过几分钟又转至战略性,启动时上述转换则会造成战略性有较为大的开销,是只不过未前提的。当增设了定时分摊为5分钟时,路由器上线时,只则会督导上述第1步转换,此时的战略性处于yellow状态,在5分钟内上线的路由器转至战略性则战略性直接恢复green。可避免了很多特罗斯季亚涅齐的迁离。通过API改动定时分摊赶紧时间,值为0则表示则会几翌日分摊。

搜图

撰稿人

? cluster.routing.allocation.balance.shard:选项0.45f,定义分摊在该路由器的特罗斯季亚涅齐仅的突变持续性=突变*(当前路由器的特罗斯季亚涅齐仅-战略性的总特罗斯季亚涅齐仅/路由器仅,即每个路由器的平均特罗斯季亚涅齐仅);

? cluster.routing.allocation.balance.index:选项0.55f,定义分摊在该路由器某个引文的特罗斯季亚涅齐仅的突变,持续性=突变*(当前路由器的某个引文的特罗斯季亚涅齐仅-引文的总特罗斯季亚涅齐仅/路由器仅,即每个路由器某个引文的平均特罗斯季亚涅齐仅);

? cluster.routing.allocation.balance.threshold:选项1.0f,超显露这个持续性就则会重新分摊特罗斯季亚涅齐。

根据的设计可以算显露,当某一路由器多于于每个路由器完胜特罗斯季亚涅齐仅2.2(1/0.45)个特罗斯季亚涅齐时则会启动时rebalance。

当某个路由器my_index的特罗斯季亚涅齐仅多于于每个路由器my_index的平均特罗斯季亚涅齐仅1.8(1/0.55)个特罗斯季亚涅齐时则会启动时rebalance。

4.Mapping

(1)文件名类别的设计

不必需被过去时的文件名不应采用not_analyzed;

不必需被侦查的文件名增设index:false;

不必需肽键的文件名增设doc_value:false;

仅不应用于精确匹配而不进行时范围内查阅的仅值文件名采用keyword类别的可靠性非常很高。numeric类别从lucene6.0开始,采用了一种原称block KD tree的数据传输结构。这种结构较为适不应用于范围内查找,在精确匹配方面未倒排引文的机动性好。

(2)采用相不应作用于的_id

可避免自定义_id,促请用ES的选项ID作用于战略,ES在擦除对id判断是否普遍存在时对相不应作用于的id有改进。同时可避免采用_id文件名进行时查找或肽键,如果有需求促请将该_id文件名的段落复制到自定义已启用doc_values 的文件名中都。

(3)禁用_source

_source数据传输了原始的document段落,如果未受益原始PDF仅据资料的需求,可通过增设includes、excludes属性来定义加到_source的文件名。

"mappings":{

"_source": {

"excludes": [

"content"

]

}

}

案例:在我们的提议中都,再考虑在架构上,原始仅据资料保普遍存在分布式文件系统。所以在ES中都可以不数据传输content文件名(其他文件名始终数据传输),只为content文件名建起倒排引文不应用于全文检索,而仅仅段落从分布式文件系统中都受益。

盈利:

下降ES中都数据传输;

提升查阅机动性(OS cache中都能装非常多的Segment);

shard的merge、恢复和迁离运输成本下降。

管制:

此文件名不能很高亮;

update、update_by_query、reindex APIs不能采用。

比如说是我们根据业务范围内仅据资料不同之处验证不数据传输content文件名对数据传输空间和查阅的直接影响。

(1)验证不数据传输content文件名对FAT数据传输的直接影响

仅据资料分布:

搜图

撰稿人

可以看显露,不数据传输content文件名可以加慢侦查,对肽键直接影响不大。

总的来说,必需根据业务范围内过场再考虑益弊,比如是否对仅据资料进行时预览、reindex、很高亮,或者说通过其他模式实现对仅据资料的预览、reindex、很高亮的运输成本如何。

结束语

实时仅据资料深入研究和PDF侦查是ES的常用过场之一,相辅相成客户仅据资料不同之处,百分点大仅据资料核心技术制作团队对ES进行时了改进和一定的改造,并将这些潜能沉淀到了我们的大仅据资料游戏平台上,以非常好的依赖于客户的业务范围内需求。通过调优,在生产状况中都ES战略性仍未牢固运转左右两年的赶紧时间了。在仅仅布防前,对战略性牢固性和机动性进行时了多次大规模验证,也模拟了多种意味著发生的故障过场,正是急剧地验证,发现了一些局限性,对新版本升级,对源码改动,也在急剧验证中都降低了非常多的改进项来依赖于需求。

文中都的改进方法论总体上非常的通用,希望可以给大家带来一定的参考资料价值。

文章的先前,就以ILM作为彩蛋吧!

ILM有机体管理:

引文有机体的四个之前

Hot:index正在查阅和预览,机动性好的机器人则会增设为Hot路由器来进行时仅据资料的读所写。

Warm:index以后预览,但是始终必需查阅,路由器机动性一般可以增设为Warm路由器。

Cold:index以后被预览,且很多于被查阅,仅据资料始终可以侦查,但是能遵从较慢的查阅,路由器机动性较差,但有大量的FAT空间。

Delete:仅据资料不必需了,可以截图。

#路由器属性可以通过 elasticsearch.yml 进行时的设计

# node.attr.xxx: xxx,hot warm cold

node.attr.data: warm

这四个之前按照Hot,Warm,Cold,Delete顺序督导,上一个之前未督导未完成是不则会督导下一个之前的,对于不普遍存在的之前,则会跳过该之前转入到下一个之前。

示例:创立引文有机体战略来管理elasticsearch_metrics-YYYY.MM.dd快照仅据资料。

战略如下:

在index创立后几翌日转入hot之前:当index创立多于于1天或者PDF仅多于于3000w或者正特罗斯季亚涅齐较小多于于50g后,作用于新index;

旧index转入到warm之前,segment仅量merge为1,index迁离至属性data为warm的路由器;

warm之前未完成后,转入delete之前,index rollover赶紧时间多于于30翌日,将index 截图。

搜图

撰稿人

(4)不足之处仅据资料读所写采用均须的别名elasticsearch_metrics

Actions

各之前背书的actions参考资料:Index lifecycle actions选择对不应ES新版本。()

(责任撰稿人:张泓陈)。

江中牌健胃消食片
护眼缓解疲劳海露滴眼液
腹泻该怎么治疗
牛皮癣
内膜炎
白带多怎么办好
先诺特韦片
泌尿外科
相关阅读

《轩辕剑》小雪的心不属于大地皇者,但为什么不喜欢古月仙人?

资讯 2025-11-03

《轩辕剑之三部》是一部由古天乐主演的30集玄幻剧,2集共36集,热度次于不下,自播显露至今早已九年有余。与《仙剑》系列影视作品一样,在《轩辕剑之三部》里面也有一位善良的伏羲之女。在该剧中的,伏羲之女名

最全总结!初一~初二上册英语期中复习提纲,足足60页知识点

图片 2025-11-03

本学期的学习之前都因,距离年中所入学考试也快了, 班上们也之前转到了紧张的则有状态中所。因此很多班上就在却说,在转到初中所以后法文交叉学科不其实该如何集中力量开展复习,对此极其苦恼,抓不住入学考

处罚抢注名人标志的法和理

八卦 2025-11-03

原标题:论处抢注名人品牌的 法和理缺少:宏观经济参考报企查查App显示,近日,山西、广州等地多家的公司因未拿到全红婵认可委托的但时会,为由抢注国际组织击剑选手全红婵的住址品牌,被警告并

连夺26天票房佳绩,《长津湖》突破53亿!距离《战狼2》仅差4亿!

资讯 2025-11-03

10月底末的经典电影商品,先热后冷,阅兵假期那段一段时间,来让气氛甚为浓厚,经典电影《巨济岛》也因此成为这个档期持续性最高的现代版剧作,拿到了超高的首映。这几年来,每年的阅兵档期和新春档期才会催生出爆

Elasticsearch集群总体规划与性能调优方法

八卦 2025-11-03

侦查响不应中都返完终究结果。不采用较大化的网络数据传输您向Query战略性投递一环战略性侦查请求,Query战略性中都的相互合作路由器调拨并解析请求;相互合作

友情链接