Elasticsearch Maksimum Bellek Boyutunu Ayarla

Elasticsearch Maksimum Bellek Boyutunu Ayarla



“Bellek, Elasticsearch ile çalışırken önemli ancak sınırlı bir kaynaktır. Bunun nedeni, Lucene'nin mevcut tüm hafızayı kullanmasıdır. Ancak, yanlış yapılandırıldığında, bellek ayarları düşük performansa ve verimsiz bellek kullanımına neden olabilir.'

Bu öğreticide, Elasticsearch ile çalışırken size maksimum ve minimum JVM Yığın Boyutu yapılandırmasını göstereceğiz.







Başlayalım.



Yığın Bellek nedir?

Elasticsearch bağlamında, Yığın bellek, bir Elasticsearch düğümü içindeki Java Sanal Makinesine ayrılan toplam bellek miktarını ifade eder.



Elasticsearch, temel sistemin toplam belleğine ve düğümün rolüne göre JVM Yığın boyutunu varsayılan olarak ayarlayacaktır. Bu, yığın bellek boyutu tahsisinin ana düğüm, veri, alma, data_cold vb. olmasına bağlı olarak değişebileceği anlamına gelir.





Çoğu üretim ortamı için, Elasticsearch'ün yığın boyutunu yönetmesine izin verilmesi önerilir ve fazlasıyla yeterlidir.

NOT : Docker'da Elasticsearch çalıştırıyorsanız, toplam yığın belleği, Docker'ın ana bilgisayarına değil, docker kapsayıcısının toplam boyutuna bağlıdır.



Minimum ve Maksimum Yığın Boyutunu Yapılandırma

Minimum ve maksimum yığın boyutunu yapılandırmak için Xms ve Xmx parametrelerini kullanabiliriz. Elasticsearch probits, maksimum belleği toplam belleğin %50'sinden fazla olmayacak şekilde ayarlıyor. Bunun nedeni, JVM Heap dışında Elasticsearch'ün dosya sistemi önbelleği, ağ iletişimi vb. gibi diğer işlemler için daha fazla belleğe ihtiyaç duymasıdır. Benzer şekilde, JVM kalan %50 belleğin bir bölümünü kullanır.

İkincisi, xms ve xmx değerlerini ayy eşiğinden fazla ayarlamayın. Güvenli yapılandırma için bazı sistemlerde 26 GB veya 30 GB ile sınırlayın.

Elasticsearch günlüğünde eşiği kontrol edebilirsiniz.

kedi elastiksearch.log | grep 'nesne işaretçileri'

Gösterildiği gibi bir giriş görmelisiniz:

[2022-08-19T20:01:50,275][BİLGİ ][o.e.e.NodeEnvironment    ] [debian11] yığın boyutu [1.9gb], sıkıştırılmış sıradan nesne işaretçileri [true]
[2022-08-19T20:08:07,207][BİLGİ ][o.e.e.NodeEnvironment    ] [debian11] yığın boyutu [1.9gb], sıkıştırılmış sıradan nesne işaretçileri [true]
[2022-08-19T20:36:47,244][BİLGİ ][o.e.e.NodeEnvironment    ] [debian11] yığın boyutu [1.9gb], sıkıştırılmış sıradan nesne işaretçileri [true]

Ayrıca, xms ve xmx değerleri için düğüm bilgisi API'sini sorgulayabilirsiniz:

curl -X localhost GET:9200/_nodes/_all/jvm?güzel

Gösterildiği gibi bir çıktı görmelisiniz:

Minimum ve Maksimum Yığın Boyutunu Ayarlayın

JVM Yığın Boyutunun değerlerini değiştirmek için /etc/elasticsearch/jvm.options.d dizinine bir yapılandırma dosyası eklemeniz gerekir. Bu dosya .options uzantısıyla bitmelidir.

Örneğin:

$ sudo touch /etc/elasticsearch/jvm.options.d/heap.options

Dosyayı düzenle

$ sudo nano /etc/elasticsearch/jvm.options.d/heap.options

İstenen minimum ve maksimum yığın bellek boyutunu ekleyin.

Örneğin, aşağıdaki giriş, minimum ve maksimum yığın boyutunu 4 GB olarak yapılandırır.

Dosyayı kaydedin ve Elasticsearch hizmetini yeniden başlatın.

Çözüm

Bu öğreticide, Elasticsearch bağlamında JVM Heap'i, Elasticsearch'ün JVM Heap'i nasıl yapılandırdığını ve yığın boyutunu nasıl değiştirebileceğinizi öğrendiniz.

okuduğunuz için teşekkürler!!