您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關如何解析elasticsearch內存分配與集群規劃,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
每個es節點使用的內存分為兩部分,一是JVM堆內存,分配給es進程,一種是堆外內存,供Lucene使用,因此堆內存越小,Elasticsearch(更快的 GC)和 Lucene(更多的內存用于緩存)的性能越好。官方建議把 50% 的可用內存作為 Elasticsearch 的堆內存,保留剩下的 50%。
每臺節點的JVM內存不要超過32GB。 當JVM內存小于32GB時,會采用了內存指針壓縮(compressed oops)技術。一旦你越過那個神奇的 ~32 GB 的邊界,指針就會切回普通對象的指針。 每個對象的指針都變長了,就會使用更多的 CPU 內存帶寬,也就是說你實際上失去了更多的內存。事實上,當內存到達 40–50 GB 的時候,有效內存才相當于使用內存對象指針壓縮技術時候的 32 GB 內存。即便你有足夠的內存,也盡量不要 超過 32 GB。因為它浪費了內存,降低了 CPU 的性能,還要讓 GC 應對大內存。
禁用Linux系統的交換區
elasticsearch 官方建議每個分片對應的數據不要超過50GB。
每個節點1GB內存對應于不多于20個分片。即一臺節點最多可以存儲32*20個分片
可以根據以上經驗去判斷集群中的節點個數
看完上述內容,你們對如何解析elasticsearch內存分配與集群規劃有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。