以下的優(yōu)化基礎(chǔ)是安裝的 Elasticsearch 版本為 7.17.7,同時(shí)jdk版本為 1.8.321
1、jvm參數(shù)優(yōu)化
??這里說(shuō)的jvm參數(shù)調(diào)優(yōu),是指elasticsearch安裝目錄下的jvm.options配置,如下圖所示:
??這里調(diào)整的內(nèi)容主要是調(diào)整垃圾回收的收集器,將默認(rèn)的cms + parNew 垃圾回收器,替換為G1 垃圾回收器。好處是能夠盡量縮短處理超大堆的停頓,在G1進(jìn)行垃圾回收的時(shí)候完成內(nèi)存壓縮,降低內(nèi)存碎片的生成。同時(shí)會(huì)嘗試在滿足高吞吐量需求的同時(shí)盡可能的縮短停頓時(shí)間。整個(gè)堆的操作,比如全局標(biāo)記等,和應(yīng)用線程并發(fā)執(zhí)行。
注釋原有的幾個(gè)配置項(xiàng),如下所示:
-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=75
-XX:+UseCMSInitiatingOccupancyOnly
新增下述幾個(gè)優(yōu)化配置項(xiàng):文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-690919.html
##使用G1垃圾回收器
8:-XX:+UseG1GC
# full gc效率更高
8:-XX:+ExplicitGCInvokesConcurrent
8:-XX:+UseGCOverheadLimit
# 啟動(dòng)并發(fā)GC周期時(shí)的堆內(nèi)存占用百分比.
8:-XX:InitiatingHeapOccupancyPercent=40
# 指定STW工作線程的數(shù)量:計(jì)算公式:ParallelGCThreads = 8 + ((N - 8) * 5/8) = 3 +((5*CPU)/ 8)
8:-XX:ParallelGCThreads=20
# 標(biāo)記線程的數(shù)量
8:-XX:ConcGCThreads=8
# G1為分配擔(dān)保預(yù)留的空間比例 默認(rèn)10%
8:-XX:G1ReservePercent=15
# 表示每次GC最大的停頓毫秒數(shù),默認(rèn)200,減少該值會(huì)增加系統(tǒng)load。
8:-XX:MaxGCPauseMillis=100
2、Elasticsearch配置優(yōu)化
新增以下幾個(gè)配置項(xiàng)():文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-690919.html
# 緩存配置
# 分片級(jí)請(qǐng)求緩存模塊在每個(gè)分片上緩存本地結(jié)果,默認(rèn)1%
indices.requests.cache.size: 2%
# 節(jié)點(diǎn)查詢緩存,默認(rèn)10%
indices.queries.cache.size: 10%
# 字段數(shù)據(jù)緩存設(shè)置,默認(rèn)無(wú)限制
indices.fielddata.cache.size: 10%
# 字段數(shù)據(jù)緩存設(shè)置斷路器,默認(rèn)50%
indices.breaker.fielddata.limit: 40%
# 恢復(fù)配置
# 初始化數(shù)據(jù)恢復(fù)時(shí),并發(fā)恢復(fù)線程的個(gè)數(shù),默認(rèn)為4
cluster.routing.allocation.node_initial_primaries_recoveries: 6
到了這里,關(guān)于Elasticsearch配置優(yōu)化的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!