国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Elasticsearch:集群關(guān)鍵指標(biāo)及調(diào)優(yōu)指南

這篇具有很好參考價(jià)值的文章主要介紹了Elasticsearch:集群關(guān)鍵指標(biāo)及調(diào)優(yōu)指南。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1、CPU使用率

CPU使用率是指在一段時(shí)間內(nèi)CPU執(zhí)行程序的百分比,它是衡量系統(tǒng)資源利用率的一種指標(biāo)。

1.1 詳細(xì)說明:

在Elasticsearch中,高的CPU使用率通常意味著節(jié)點(diǎn)正在執(zhí)行大量的計(jì)算任務(wù),這可能是因?yàn)樗饕退阉鞑僮鞯呢?fù)載較大,也可能是因?yàn)楣?jié)點(diǎn)正在進(jìn)行數(shù)據(jù)復(fù)制和分片重新平衡等任務(wù)。因此,高的CPU使用率通常是Elasticsearch性能瓶頸的一個(gè)指標(biāo)。

1.2 注意:

有以下一些情況可能會(huì)導(dǎo)致 Elasticsearch 的 CPU 使用率變高:

  1. 查詢負(fù)載增加:當(dāng) Elasticsearch 集群承受的查詢負(fù)載增加時(shí),會(huì)導(dǎo)致 CPU 使用率變高。這通常發(fā)生在索引大量新數(shù)據(jù)或者搜索流量增加的情況下。

  2. 索引負(fù)載增加:當(dāng) Elasticsearch 集群承受的索引負(fù)載增加時(shí),會(huì)導(dǎo)致 CPU 使用率變高。這通常發(fā)生在索引大量新數(shù)據(jù)的情況下。

  3. GC:當(dāng) Elasticsearch 的 Java 進(jìn)程發(fā)生垃圾回收(GC)時(shí),會(huì)導(dǎo)致 CPU 使用率變高。GC 是清理 Java 堆內(nèi)存中不再使用的對(duì)象,它是 Java 程序中自帶的機(jī)制,當(dāng) Java 堆內(nèi)存中的對(duì)象數(shù)量增加時(shí),GC 的頻率和時(shí)間也會(huì)相應(yīng)增加。

  4. 機(jī)器性能不足:當(dāng) Elasticsearch 部署的機(jī)器性能不足時(shí),會(huì)導(dǎo)致 CPU 使用率變高。例如,CPU 處理器的速度較慢,內(nèi)存不足,磁盤 I/O 較慢等。

  5. 插件/腳本等造成的性能問題:當(dāng) Elasticsearch 使用的插件或腳本存在性能問題時(shí),會(huì)導(dǎo)致 CPU 使用率變高。在某些情況下,某些插件和腳本可能會(huì)影響 Elasticsearch 的性能,例如使用復(fù)雜的腳本或者調(diào)用較慢的第三方庫。

總之,當(dāng) Elasticsearch 集群處理數(shù)據(jù)量增加、索引負(fù)載增加、查詢負(fù)載增加、GC 或者機(jī)器性能不足等情況時(shí),會(huì)導(dǎo)致 CPU 使用率變高。為了避免這種情況的發(fā)生,可以采取一些優(yōu)化策略,如添加更多的節(jié)點(diǎn)、升級(jí)硬件等。

1.3 當(dāng)CPU使用率升高時(shí)如何處理?

  1. 調(diào)整集群配置??梢酝ㄟ^調(diào)整Elasticsearch集群的配置來減少CPU的使用率。例如,可以調(diào)整查詢的并發(fā)數(shù)、增加分片的數(shù)量、減少索引的副本數(shù)等,來減輕CPU的負(fù)擔(dān)。

  2. 優(yōu)化查詢語句。復(fù)雜的查詢語句可能會(huì)導(dǎo)致CPU的使用率飆升。因此,可以考慮優(yōu)化查詢語句,使用更簡單、更高效的查詢語句來減少CPU的使用率。

  3. 關(guān)閉不必要的插件。Elasticsearch的插件可以擴(kuò)展其功能,但某些插件可能會(huì)占用大量的CPU資源。因此,可以考慮關(guān)閉某些不必要的插件來減少CPU的使用率。

  4. 增加硬件資源。如果Elasticsearch集群的CPU使用率經(jīng)常超過限制,可能需要考慮增加硬件資源,例如增加CPU核心數(shù)量或升級(jí)CPU型號(hào),以提高集群的性能。

  5. 增加集群規(guī)模。如果Elasticsearch集群的CPU使用率經(jīng)常超過限制,還可以考慮增加集群規(guī)模,將負(fù)載分?jǐn)偟蕉嗯_(tái)機(jī)器上,以提高集群的性能。

  6. 調(diào)整集群中節(jié)點(diǎn)的負(fù)載均衡策略。Elasticsearch的負(fù)載均衡策略可能會(huì)導(dǎo)致某些節(jié)點(diǎn)的CPU使用率過高。因此,可以考慮調(diào)整負(fù)載均衡策略,將負(fù)載更均衡地分配到各個(gè)節(jié)點(diǎn)上。

1.4 當(dāng)Elasticsearch集群的CPU使用率升高時(shí),可以考慮調(diào)整哪些參數(shù)?

  1. indices.store.throttle.max_bytes_per_sec: 索引寫入速度控制參數(shù),用于限制每秒寫入的數(shù)據(jù)量。如果寫入速度太快,可能會(huì)導(dǎo)致CPU使用率過高。可以降低該參數(shù)的值來減緩寫入速度。該參數(shù)的最優(yōu)值取決于硬件配置和寫入負(fù)載,一般建議將其設(shè)置為每秒寫入速率的80%到90%。例如,如果每秒寫入速率為50MB/s,則該參數(shù)的最優(yōu)值可能在40MB/s到45MB/s之間。

  2. indices.memory.index_buffer_size: 索引緩沖區(qū)大小。如果該值太小,會(huì)導(dǎo)致頻繁的IO操作,從而增加CPU負(fù)載??梢赃m當(dāng)增大該值來減少IO操作。該參數(shù)的最優(yōu)值取決于可用內(nèi)存、索引大小和查詢負(fù)載等因素,一般建議將其設(shè)置為可用內(nèi)存的20%到30%。例如,如果集群有100GB的可用內(nèi)存,該參數(shù)的最優(yōu)值可能在20GB到30GB之間。

  3. indices.fielddata.cache.size: 字段數(shù)據(jù)緩存大小。如果字段數(shù)據(jù)緩存過小,可能會(huì)導(dǎo)致頻繁的磁盤讀取,從而增加CPU負(fù)載??梢赃m當(dāng)增大該值來減少磁盤讀取操作。該參數(shù)的最優(yōu)值取決于字段數(shù)據(jù)大小和查詢負(fù)載等因素,一般建議將其設(shè)置為可用內(nèi)存的20%到30%。例如,如果集群有100GB的可用內(nèi)存,該參數(shù)的最優(yōu)值可能在20GB到30GB之間。

  4. indices.queries.cache.size: 查詢緩存大小。如果查詢緩存過小,可能會(huì)導(dǎo)致頻繁的查詢操作,從而增加CPU負(fù)載??梢赃m當(dāng)增大該值來減少查詢操作。該參數(shù)的最優(yōu)值取決于查詢負(fù)載,一般建議將其設(shè)置為查詢緩存占用可用內(nèi)存的20%到30%。例如,如果集群有100GB的可用內(nèi)存,該參數(shù)的最優(yōu)值可能在20GB到30GB之間。

  5. indices.recovery.max_bytes_per_sec: 索引恢復(fù)速度控制參數(shù),用于限制每秒恢復(fù)的數(shù)據(jù)量。如果恢復(fù)速度太快,可能會(huì)導(dǎo)致CPU使用率過高。可以降低該參數(shù)的值來減緩恢復(fù)速度。該參數(shù)的最優(yōu)值取決于恢復(fù)速度和集群負(fù)載,一般建議將其設(shè)置為每秒恢復(fù)速率的80%到90%。例如,如果每秒恢復(fù)速率為50MB/s,則該參數(shù)的最優(yōu)值可能在40MB/s到45MB/s之間。

  6. indices.search.slowlog.threshold.query.warn: 查詢慢日志告警閾值。如果查詢操作太慢,可能會(huì)導(dǎo)致CPU使用率過高。可以降低該參數(shù)的值來快速發(fā)現(xiàn)查詢慢的問題。該參數(shù)的最優(yōu)值取決于查詢負(fù)載和業(yè)務(wù)需求,一般建議將其設(shè)置為查詢執(zhí)行時(shí)間的90%到95%。例如,如果查詢執(zhí)行時(shí)間的中位數(shù)為1秒,則該參數(shù)的最優(yōu)值可能在900ms到950ms之間。

2、內(nèi)存使用率

當(dāng)前使用的內(nèi)存量占可用內(nèi)存總量的比例。

2.1 詳細(xì)說明:

  1. Elasticsearch 會(huì)使用 JVM 來運(yùn)行,因此 JVM 的內(nèi)存分配對(duì) Elasticsearch 的性能非常重要。默認(rèn)情況下,Elasticsearch 的 JVM 內(nèi)存分配為 1GB,但在生產(chǎn)環(huán)境中通常需要將其調(diào)整為更大的值。

  2. Elasticsearch 將內(nèi)存分為兩部分:堆內(nèi)存和非堆內(nèi)存。堆內(nèi)存用于存儲(chǔ)文檔、字段和查詢緩存等數(shù)據(jù),非堆內(nèi)存用于存儲(chǔ)索引緩存、文件系統(tǒng)緩存和其他內(nèi)部緩存等數(shù)據(jù)。

  3. Elasticsearch 會(huì)自動(dòng)管理緩存,以確保常用的數(shù)據(jù)在內(nèi)存中。當(dāng)內(nèi)存不足時(shí),Elasticsearch 會(huì)將較少使用的數(shù)據(jù)從內(nèi)存中移除,并將其存儲(chǔ)到磁盤上。

  4. 對(duì)于單個(gè)節(jié)點(diǎn)的 Elasticsearch 集群,通常建議將 JVM 堆內(nèi)存設(shè)置為總內(nèi)存的一半,以留出一定的空間給操作系統(tǒng)和其他進(jìn)程使用。而對(duì)于大型集群,建議將 JVM 堆內(nèi)存設(shè)置為 30GB 到 32GB。

2.2 注意:

關(guān)于Elasticsearch的內(nèi)存使用率,以下因素可能會(huì)對(duì)其產(chǎn)生影響:

  1. 索引的大小和數(shù)量:索引的大小和數(shù)量會(huì)直接影響 Elasticsearch 使用的內(nèi)存量。較大的索引需要更多的內(nèi)存來處理,而較小的索引則需要較少的內(nèi)存。

  2. 查詢負(fù)載:查詢負(fù)載是指 Elasticsearch 在任何給定時(shí)刻處理的查詢數(shù)量和類型。更多的查詢負(fù)載需要更多的內(nèi)存來處理和緩存查詢結(jié)果。

  3. JVM 堆內(nèi)存大小:Elasticsearch 在 JVM 堆內(nèi)存中緩存文檔、字段和查詢結(jié)果等數(shù)據(jù),堆內(nèi)存的大小直接影響 Elasticsearch 的性能。通常,增加堆內(nèi)存大小可以提高 Elasticsearch 的性能,但是在可用內(nèi)存受限的情況下,過大的堆內(nèi)存大小可能會(huì)導(dǎo)致系統(tǒng)負(fù)載過重,甚至導(dǎo)致 OutOfMemoryError 錯(cuò)誤。

  4. 硬件資源:Elasticsearch 的內(nèi)存使用率還受限于硬件資源,包括 CPU、磁盤和網(wǎng)絡(luò)帶寬等。如果硬件資源不足,可能會(huì)導(dǎo)致 Elasticsearch 性能下降,甚至無法正常運(yùn)行。

  5. Elasticsearch 版本:Elasticsearch 版本之間的內(nèi)存使用率也可能有所不同。較新的版本通常會(huì)更有效地利用內(nèi)存,提高性能和穩(wěn)定性。

綜上所述,Elasticsearch 的內(nèi)存使用率受多種因素影響,需要根據(jù)具體情況進(jìn)行分析和調(diào)整,以優(yōu)化性能和穩(wěn)定性。

2.3 當(dāng)內(nèi)存使用率升高時(shí)如何處理?

  1. 檢查Elasticsearch集群中是否有索引或搜索查詢的負(fù)載異常,這可能導(dǎo)致內(nèi)存使用率飆升。可以使用Elasticsearch的監(jiān)控工具或REST API來查看負(fù)載和性能指標(biāo),并識(shí)別問題所在。

  2. 調(diào)整JVM的堆內(nèi)存大小。JVM是Elasticsearch節(jié)點(diǎn)的內(nèi)存管理器,可以通過調(diào)整JVM的堆內(nèi)存大小來控制Elasticsearch的內(nèi)存使用率。可以通過在elasticsearch.yml文件中設(shè)置-Xms和-Xmx參數(shù)來增加或減少JVM的堆內(nèi)存大小。注意,不要將JVM的堆內(nèi)存大小設(shè)置過小,否則會(huì)影響Elasticsearch的性能。

  3. 減小索引分片的數(shù)量。索引分片是Elasticsearch的分布式存儲(chǔ)機(jī)制,但太多的分片會(huì)占用過多的內(nèi)存資源。可以通過減小索引分片的數(shù)量來降低內(nèi)存使用率。

  4. 使用更高效的查詢。復(fù)雜的查詢可能需要占用更多的內(nèi)存資源,因此,可以嘗試使用更高效的查詢來降低內(nèi)存使用率。例如,使用過濾器而不是查詢語句來獲取數(shù)據(jù),或使用聚合操作來減少數(shù)據(jù)的返回。

  5. 增加硬件資源。如果Elasticsearch集群的內(nèi)存使用率經(jīng)常超過限制,可能需要考慮增加硬件資源,例如增加內(nèi)存或CPU,以滿足集群的性能需求。

2.4 當(dāng)Elasticsearch集群的內(nèi)存使用率升高時(shí),可以考慮調(diào)整哪些參數(shù)?

  1. indices.memory.index_buffer_size:該參數(shù)控制索引模塊使用的內(nèi)存緩沖區(qū)大小。如果內(nèi)存使用率升高,可以嘗試降低該參數(shù)的值,以減少索引模塊占用的內(nèi)存。不過,降低該參數(shù)的值可能會(huì)降低索引性能。此參數(shù)應(yīng)該根據(jù)索引的大小和使用情況進(jìn)行調(diào)整。建議將其設(shè)置為每個(gè)索引的可用堆內(nèi)存的5%-10%。

  2. indices.fielddata.cache.size:該參數(shù)控制字段數(shù)據(jù)緩存的大小。如果內(nèi)存使用率升高,可以嘗試降低該參數(shù)的值,以減少字段數(shù)據(jù)緩存占用的內(nèi)存。不過,降低該參數(shù)的值可能會(huì)降低查詢性能。此參數(shù)應(yīng)該設(shè)置為盡可能大的值,以利用可用的內(nèi)存來緩存字段數(shù)據(jù)。建議設(shè)置為10%-30%的可用堆內(nèi)存。

  3. indices.queries.cache.size:該參數(shù)控制查詢緩存的大小。如果內(nèi)存使用率升高,可以嘗試降低該參數(shù)的值,以減少查詢緩存占用的內(nèi)存。不過,降低該參數(shù)的值可能會(huì)降低查詢性能。此參數(shù)應(yīng)該設(shè)置為盡可能大的值,以利用可用的內(nèi)存來緩存查詢。建議設(shè)置為10%-30%的可用堆內(nèi)存。

  4. indices.breaker.*:該參數(shù)控制Elasticsearch使用的熔斷器(circuit breaker)閾值。熔斷器是一種保護(hù)機(jī)制,用于防止過度使用內(nèi)存和磁盤等資源。如果內(nèi)存使用率升高,可以嘗試調(diào)整熔斷器閾值,以避免過度使用內(nèi)存。

  5. indices.recovery.max_bytes_per_sec:該參數(shù)控制恢復(fù)速度。如果內(nèi)存使用率升高,可以嘗試降低該參數(shù)的值,以降低恢復(fù)操作占用的內(nèi)存。 此參數(shù)應(yīng)該根據(jù)網(wǎng)絡(luò)帶寬進(jìn)行調(diào)整,以確?;謴?fù)操作不會(huì)占用過多的內(nèi)存。建議將其設(shè)置為網(wǎng)絡(luò)帶寬的70%-80%。

3、磁盤使用率

磁盤使用率是指已用磁盤空間和可用磁盤空間之間的比率,通常以百分比形式表示

3.1 詳細(xì)說明:

關(guān)于磁盤使用率可詳細(xì)描述的部分較少,這里說明一下常見的幾種磁盤類型:

  1. 機(jī)械硬盤(HDD):機(jī)械硬盤是一種傳統(tǒng)的存儲(chǔ)設(shè)備,使用旋轉(zhuǎn)的磁盤和移動(dòng)的磁頭來讀寫數(shù)據(jù)。它們相對(duì)較便宜,但速度較慢,因此不適合對(duì)性能要求較高的應(yīng)用。

  2. 固態(tài)硬盤(SSD):固態(tài)硬盤使用閃存來存儲(chǔ)數(shù)據(jù),速度比機(jī)械硬盤更快,因此可以提供更好的性能。它們相對(duì)較昂貴,但在需要高性能的應(yīng)用場(chǎng)景中通常更受歡迎。

  3. NVMe硬盤:NVMe硬盤是一種專為固態(tài)硬盤設(shè)計(jì)的高速接口,比SATA接口的固態(tài)硬盤更快,因此提供更高的性能。

  4. 分布式文件系統(tǒng):Elasticsearch還支持使用分布式文件系統(tǒng)作為存儲(chǔ)后端,如Hadoop Distributed File System(HDFS)和Amazon S3。這些系統(tǒng)通常用于大規(guī)模數(shù)據(jù)存儲(chǔ)和分析,但也可以用于Elasticsearch。

3.2 注意:

  1. 數(shù)據(jù)量:Elasticsearch的磁盤使用率與數(shù)據(jù)量直接相關(guān),因?yàn)閿?shù)據(jù)存儲(chǔ)在磁盤上。如果數(shù)據(jù)量增加,磁盤使用率也會(huì)相應(yīng)增加。

  2. 索引設(shè)置:Elasticsearch支持多種索引設(shè)置,如分片和副本,這些設(shè)置會(huì)影響數(shù)據(jù)在磁盤上的存儲(chǔ)方式和占用空間的大小。例如,分片數(shù)量越多,每個(gè)分片占用的磁盤空間就越小,但需要更多的分片可能會(huì)導(dǎo)致額外的磁盤空間占用。

  3. 索引更新頻率:當(dāng)索引頻繁更新時(shí),會(huì)導(dǎo)致Elasticsearch寫入更多的數(shù)據(jù)到磁盤上,從而增加磁盤使用率。

  4. 刪除操作:在Elasticsearch中,刪除文檔不會(huì)立即釋放磁盤空間,而是通過后臺(tái)的段合并(segment merge)操作來回收空間。如果經(jīng)常刪除文檔,可能需要定期執(zhí)行段合并操作,否則會(huì)導(dǎo)致磁盤使用率持續(xù)增加。

  5. 數(shù)據(jù)復(fù)制:Elasticsearch支持副本機(jī)制,即將數(shù)據(jù)復(fù)制到其他節(jié)點(diǎn)以實(shí)現(xiàn)高可用性。這意味著每個(gè)副本都需要占用額外的磁盤空間。

  6. 磁盤類型:不同類型的磁盤對(duì)性能和空間占用有不同的影響。例如,固態(tài)硬盤通常比機(jī)械硬盤更快,但通常也更昂貴,而機(jī)械硬盤則更適合低成本應(yīng)用。

3.3 當(dāng)磁盤使用率升高時(shí)如何處理?

  1. 添加更多的節(jié)點(diǎn):可以通過添加更多的節(jié)點(diǎn)來擴(kuò)展集群的存儲(chǔ)能力,從而減輕單個(gè)節(jié)點(diǎn)的負(fù)擔(dān)。

  2. 刪除舊的或不需要的數(shù)據(jù):可以通過刪除舊的或不需要的數(shù)據(jù)來釋放磁盤空間。但是,在刪除數(shù)據(jù)之前,請(qǐng)確保您不再需要這些數(shù)據(jù),因?yàn)閿?shù)據(jù)刪除是不可逆的操作。

  3. 壓縮索引:Elasticsearch提供了一些工具來壓縮索引,可以在不降低性能的情況下減小索引的大小。

  4. 增加磁盤空間:如果磁盤使用率升高是由于磁盤空間不足導(dǎo)致的,可以考慮增加磁盤空間。

  5. 調(diào)整文檔的存儲(chǔ)方式:可以通過調(diào)整文檔的存儲(chǔ)方式來減小磁盤使用率。例如,可以將文檔中的某些字段設(shè)置為不索引,或者將某些字段設(shè)置為壓縮存儲(chǔ)。

4、GC頻次

指垃圾回收器在一定時(shí)間內(nèi)執(zhí)行的次數(shù),它是一個(gè)反映JVM垃圾回收效率的指標(biāo)。

4.1 詳細(xì)說明:

這里指的是老年代的GC頻次,老年代用來存儲(chǔ)較老的對(duì)象空間,這些對(duì)象預(yù)期是長久的并且持續(xù)了很長時(shí)間。在Elasticsearch節(jié)點(diǎn)中最大可以設(shè)置為30GB。

一個(gè)緩慢的GC可能有1s甚至15s以上,從集群穩(wěn)定性的角度來說是不可接受的。一個(gè)頻繁長時(shí)間GC的集群是重負(fù)載并且沒有足夠內(nèi)存的。這些長時(shí)間GC將使節(jié)點(diǎn)短暫離開集群,在Elasticsearch中為了保持集群的穩(wěn)定和可用的副本,這種不穩(wěn)定因素經(jīng)常導(dǎo)致重新遷移分片。當(dāng)集群嘗試服務(wù)正常的索引(寫入)和查詢時(shí),會(huì)增加網(wǎng)絡(luò)流量和磁盤I/O。

??在Elasticsearch集群的垃圾回收器替換成G1后,GC的頻次和持續(xù)時(shí)間均有明顯改善。

4.2 注意:

  1. JVM堆內(nèi)存不足:當(dāng)JVM堆內(nèi)存不足時(shí),會(huì)導(dǎo)致GC頻繁觸發(fā),以釋放內(nèi)存空間。這種情況通常是由于索引數(shù)據(jù)量增加或者查詢負(fù)載增加等原因?qū)е碌摹?/p>

  2. 索引數(shù)據(jù)過多:當(dāng)索引數(shù)據(jù)量過多時(shí),會(huì)占用大量的內(nèi)存空間,導(dǎo)致JVM堆內(nèi)存不足,從而引發(fā)GC頻繁觸發(fā)。

  3. 查詢壓力過大:當(dāng)查詢壓力過大時(shí),會(huì)導(dǎo)致Elasticsearch集群需要處理大量的查詢請(qǐng)求,從而導(dǎo)致JVM堆內(nèi)存不足,引發(fā)GC頻繁觸發(fā)。

  4. 代碼邏輯問題:有時(shí)候可能存在代碼邏輯問題,例如內(nèi)存泄漏等,也會(huì)導(dǎo)致JVM堆內(nèi)存占用過高,從而引發(fā)GC頻繁觸發(fā)。

4.3 降低GC頻次的措施?

  1. 增加JVM堆內(nèi)存大小:GC頻次過高的一個(gè)主要原因是JVM內(nèi)存不足,因此增加JVM堆內(nèi)存大小可以有效降低GC頻次。一般來說,JVM堆內(nèi)存大小應(yīng)該設(shè)置為應(yīng)用程序所需要的最小值加上一定的余量,以確保系統(tǒng)具有足夠的內(nèi)存。

  2. 優(yōu)化查詢和索引操作:查詢和索引操作是Elasticsearch集群中最耗費(fèi)內(nèi)存和CPU資源的操作,因此可以通過優(yōu)化查詢和索引操作來降低GC頻次。例如,可以使用filter代替query,避免使用過多的聚合操作,避免使用過多的腳本等。

  3. 使用合適的垃圾回收器:不同的垃圾回收器有不同的GC算法和優(yōu)化策略,選擇合適的垃圾回收器可以降低GC頻次。一般來說,CMS垃圾回收器比較適合應(yīng)用程序的實(shí)時(shí)處理,而G1垃圾回收器則適合大型堆內(nèi)存的應(yīng)用程序。

  4. 使用合適的JVM參數(shù):合適的JVM參數(shù)可以對(duì)Elasticsearch集群的GC頻次產(chǎn)生重要影響。例如,可以通過設(shè)置合適的堆內(nèi)存大小、調(diào)整垃圾回收器的參數(shù)等方式來降低GC頻次。

5、fielddata內(nèi)存使用量

fielddata內(nèi)存使用量是指已經(jīng)被加載到內(nèi)存中的fielddata的大小。

5.1 詳細(xì)說明:

當(dāng)在Elasticsearch中對(duì)一個(gè)字段使用聚合、排序、腳本或者用于全文搜索時(shí),該字段的fielddata就會(huì)被加載到內(nèi)存中進(jìn)行操作。fielddata是一種用于對(duì)文本類型的字段進(jìn)行排序和聚合的數(shù)據(jù)結(jié)構(gòu)。

如果一個(gè)集群中有大量的字段需要在內(nèi)存中加載fielddata,那么這個(gè)指標(biāo)可能會(huì)對(duì)集群性能產(chǎn)生負(fù)面影響。因此,需要根據(jù)實(shí)際情況來調(diào)整fielddata的使用策略,以平衡內(nèi)存的使用和查詢性能的需求。

5.2 注意:

當(dāng)fielddata內(nèi)存使用量達(dá)到一定程度時(shí),會(huì)對(duì)Elasticsearch集群的性能和穩(wěn)定性產(chǎn)生負(fù)面影響。具體來說,主要有以下幾點(diǎn):

  1. 內(nèi)存不足:當(dāng)fielddata內(nèi)存使用量過高時(shí),可能會(huì)導(dǎo)致內(nèi)存不足,從而影響Elasticsearch集群的運(yùn)行。這可能會(huì)導(dǎo)致請(qǐng)求被拒絕、節(jié)點(diǎn)故障等問題。

  2. 垃圾回收:當(dāng)fielddata內(nèi)存使用量過高時(shí),垃圾回收器會(huì)頻繁執(zhí)行,這可能會(huì)導(dǎo)致性能下降。特別是在大型集群中,這可能會(huì)導(dǎo)致所有節(jié)點(diǎn)的性能下降,進(jìn)而影響整個(gè)集群。

  3. 磁盤使用量:當(dāng)fielddata內(nèi)存使用量過高時(shí),Elasticsearch可能會(huì)將部分?jǐn)?shù)據(jù)寫入磁盤,從而占用更多的磁盤空間。如果磁盤空間不足,可能會(huì)影響Elasticsearch集群的穩(wěn)定性。

5.3 當(dāng)fielddata內(nèi)存使用量增高時(shí)如何處理?

有以下幾種方法可以減少fielddata內(nèi)存使用量:

  1. 使用 doc values 替代 fielddata:doc values 是一種結(jié)構(gòu)化的、只讀的數(shù)據(jù)結(jié)構(gòu),可以直接被用于排序、聚合和腳本,與 fielddata 相比可以減少內(nèi)存使用。可以使用 doc_values 屬性將字段顯式地配置為使用 doc values。

  2. 避免過度使用 text 類型的字段:text 類型的字段會(huì)產(chǎn)生 fielddata,如果不需要進(jìn)行全文搜索、聚合、排序等操作,可以考慮使用 keyword 類型的字段來替代。

  3. 減少不必要的聚合操作:聚合操作會(huì)對(duì) fielddata 進(jìn)行操作,如果聚合操作不是必須的,可以考慮避免使用。

  4. 增加 fielddata 緩存大小:可以通過在配置文件中設(shè)置 indices.fielddata.cache.size 來增加 fielddata 緩存大小,從而減少 fielddata 的內(nèi)存使用。

  5. 減少索引的字段數(shù):減少索引的字段數(shù)可以減少 fielddata 的內(nèi)存使用。

注意,以上方法需要根據(jù)具體情況來選擇,不同的情況可能需要不同的方法來減少 fielddata 內(nèi)存使用量。文章來源地址http://www.zghlxwxcb.cn/news/detail-486752.html

到了這里,關(guān)于Elasticsearch:集群關(guān)鍵指標(biāo)及調(diào)優(yōu)指南的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Hadoop的shuffle過程及調(diào)優(yōu)

    Hadoop的shuffle過程及調(diào)優(yōu)

    MapReduce 中的Shuffle 發(fā)生在 map 輸出到 reduce 輸入的過程,它的中文解釋是 “洗牌”,顧名思義該過程涉及數(shù)據(jù)的重新分配,主要分為兩部分: map 任務(wù)輸出的數(shù)據(jù)分組、排序,寫入本地磁盤。 reduce 任務(wù)拉取排序。 由于該過程涉及排序、磁盤IO、以及網(wǎng)絡(luò)IO 等消耗資源和 CPU 比

    2024年02月09日
    瀏覽(14)
  • 監(jiān)控Elasticsearch的關(guān)鍵指標(biāo)

    監(jiān)控Elasticsearch的關(guān)鍵指標(biāo)

    Elasticsearch 的核心職能就是對(duì)外提供搜索服務(wù),所以搜索請(qǐng)求的吞吐和延遲是非常關(guān)鍵的,搜索是靠底層的索引實(shí)現(xiàn)的,所以索引的性能指標(biāo)也非常關(guān)鍵,Elasticsearch 由一個(gè)或多個(gè)節(jié)點(diǎn)組成集群,集群自身是否健康也是需要我們監(jiān)控的。 lasticSearch 的架構(gòu)非常簡單,一個(gè)節(jié)點(diǎn)就

    2024年02月13日
    瀏覽(17)
  • 【實(shí)踐】隨機(jī)森林算法參數(shù)解釋及調(diào)優(yōu)(含Python代碼)

    【實(shí)踐】隨機(jī)森林算法參數(shù)解釋及調(diào)優(yōu)(含Python代碼)

    上篇文章梳理了隨機(jī)森林的各理論要點(diǎn),本文首先詳細(xì)解釋了隨機(jī)森林類的參數(shù)含義,并基于該類講解了參數(shù)擇優(yōu)過程。 隨機(jī)森林類庫包含了RandomForestClassifer類 , 回歸類是RandomForestRegressor類 。RF的變種ExtraTress也有ExtraTressClassifier類和ExtraTressRegressor類。由于這四個(gè)類的參數(shù)基

    2024年01月23日
    瀏覽(18)
  • MySQL性能測(cè)試及調(diào)優(yōu)中的死鎖處理方法

    MySQL性能測(cè)試及調(diào)優(yōu)中的死鎖處理方法

    以下從死鎖檢測(cè)、死鎖避免、死鎖解決3個(gè)方面來探討如何對(duì)MySQL死鎖問題進(jìn)行性能調(diào)優(yōu)。 死鎖檢測(cè) 通過SQL語句查詢鎖表相關(guān)信息: (1)查詢表打開情況 1 (2)查詢鎖情況列表 1 (3)查詢鎖等待信息,其中blocking_lock_id是當(dāng)前事務(wù)在等待的事務(wù) 1 (4)查詢死鎖日志 SHOW ENGI

    2024年01月17日
    瀏覽(16)
  • 開發(fā)者必讀指南:必須知道的關(guān)鍵性能指標(biāo),提升代碼性能

    開發(fā)者必讀指南:必須知道的關(guān)鍵性能指標(biāo),提升代碼性能

    在Web應(yīng)用程序的開發(fā)過程中,性能是一個(gè)至關(guān)重要的問題。高性能的Web應(yīng)用程序需要快速響應(yīng),并能夠處理大量的并發(fā)請(qǐng)求。而為了評(píng)估Web應(yīng)用程序的性能狀況,我們需要關(guān)注一些關(guān)鍵的性能指標(biāo)。本文將介紹一些常見的Web項(xiàng)目性能指標(biāo)及其意義。 1)請(qǐng)求響應(yīng)時(shí)間 請(qǐng)求響應(yīng)

    2024年02月07日
    瀏覽(54)
  • Elasticsearch 性能調(diào)優(yōu)指南

    目錄 1、通用優(yōu)化策略 1.1 通用最小化法則 1.2 職責(zé)單一原則 1.3 其他 2、寫性能調(diào)優(yōu) 2.1 基本原則 2.2 優(yōu)化手段 2.2.1 增加 flush 時(shí)間間隔, 2.2.2 增加refresh_interval的參數(shù)值 2.2.3 增加Buffer大小, 2.2.4 關(guān)閉副本 2.2.5 禁用swap 2.2.6 使用多個(gè)工作線程 2.2.7 避免使用稀疏數(shù)據(jù) 2.2.8 max_resu

    2024年02月13日
    瀏覽(23)
  • ES 性能調(diào)優(yōu),這可能是全網(wǎng)最詳細(xì)的 Elasticsearch 性能調(diào)優(yōu)指南

    ES 性能調(diào)優(yōu),這可能是全網(wǎng)最詳細(xì)的 Elasticsearch 性能調(diào)優(yōu)指南

    性能調(diào)優(yōu)是一件大而細(xì)的活兒。技術(shù)開發(fā)沒有銀彈,也就是本質(zhì)上是沒有所謂可應(yīng)對(duì)任何場(chǎng)景的通用\\\"最優(yōu)配置\\\"的。如果有,那么出廠何必不直接給出呢?所以理解每一項(xiàng)優(yōu)化配置的含義很重。在當(dāng)前情況下為最優(yōu)配置,但是換一種場(chǎng)景就未必了。 廢話不多說,直接上干貨!

    2024年02月03日
    瀏覽(36)
  • 一站式 Elasticsearch 集群指標(biāo)監(jiān)控與運(yùn)維管控平臺(tái)

    一站式 Elasticsearch 集群指標(biāo)監(jiān)控與運(yùn)維管控平臺(tái)

    上篇文章寫了一下消息運(yùn)維管理平臺(tái),今天帶來的是ES的監(jiān)控和運(yùn)維平臺(tái)。目前初創(chuàng)企業(yè),不像大型互聯(lián)網(wǎng)公司,可以重復(fù)的造輪子。前期還是快速迭代試錯(cuò)階段,方便拿到市場(chǎng)反饋,及時(shí)調(diào)整自己的戰(zhàn)略和產(chǎn)品方向。讓自己活下去,話不多說 開始今天的分享。 一、項(xiàng)目介紹

    2024年02月10日
    瀏覽(31)
  • 【性能測(cè)試】運(yùn)維測(cè)試01之性能測(cè)試整體認(rèn)知包括:TPS、請(qǐng)求響應(yīng)時(shí)間、事務(wù)響應(yīng)時(shí)間、并發(fā)用戶數(shù)、吞吐量、吞吐率、點(diǎn)擊率、資源使用率等性能指標(biāo)詳細(xì)介紹

    【性能測(cè)試】運(yùn)維測(cè)試01之性能測(cè)試整體認(rèn)知包括:TPS、請(qǐng)求響應(yīng)時(shí)間、事務(wù)響應(yīng)時(shí)間、并發(fā)用戶數(shù)、吞吐量、吞吐率、點(diǎn)擊率、資源使用率等性能指標(biāo)詳細(xì)介紹

    性能測(cè)試整體認(rèn)知包括:TPS、請(qǐng)求響應(yīng)時(shí)間、事務(wù)響應(yīng)時(shí)間、并發(fā)用戶數(shù)、吞吐量、吞吐率、點(diǎn)擊率、資源使用率。 1.1 需求一 1.熟悉Linux、windows等操作系統(tǒng),熟悉shell腳本; ⒉.熟悉jvm調(diào)優(yōu), tomcat調(diào)優(yōu)等基礎(chǔ)策略 3.熟悉mysq數(shù)據(jù)庫,熟練掌握javascript、java、python、groovy等至少一門

    2024年02月16日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包