Elasticsearch İçin Bellek Kullanımı Nasıl Belirlenmeli

Elasticsearch’in bellek (heap) kullanımını belirlerken sunucu donanımı, veri büyüklüğü ve sorgu yükü gibi faktörleri dikkate almalısın. Bellek yönetimi için JVM Heap Size (Java Yığın Boyutu) ayarlarını yapmalısın.


1. Elasticsearch İçin Bellek Kullanımı Nasıl Belirlenmeli?

1.1. Genel Kural

📌 Heap (JVM) boyutu, toplam RAM'in yaklaşık %50’si olmalıdır.
📌 Maksimum 32GB olarak ayarlanmalıdır. (Java'nın Compressed Oops optimizasyonunu kullanabilmesi için)

🔹 Önerilen Heap Ayarları:

RAM Elasticsearch Heap (JVM) Ayarı
4 GB 2 GB (-Xms2g -Xmx2g)
8 GB 4 GB (-Xms4g -Xmx4g)
16 GB 8 GB (-Xms8g -Xmx8g)
32 GB 16 GB (-Xms16g -Xmx16g)
64 GB 31 GB (-Xms31g -Xmx31g)

2. Elasticsearch Bellek Ayarlarını Yapılandırma

2.1. Docker Kullanıyorsan

Elasticsearch’i Docker ile çalıştırıyorsan, JVM heap ayarlarını -e parametresi ile belirleyebilirsin:

docker run -d --name elasticsearch \
  -p 9200:9200 \
  -e "discovery.type=single-node" \
  -e "ES_JAVA_OPTS=-Xms4g -Xmx4g" \
  docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2

Örnek: Sunucunda 8GB RAM varsa, Elasticsearch 4GB bellek kullanacaktır.

2.2. Docker Compose Kullanıyorsan

docker-compose.yml dosyasında bellek ayarlarını şu şekilde değiştirebilirsin:

environment:
  - ES_JAVA_OPTS=-Xms4g -Xmx4g

2.3. Manuel Ayar (Elasticsearch config)

Eğer Docker kullanmıyorsan ve Elasticsearch'i manuel olarak çalıştırıyorsan, şu dosyayı düzenleyebilirsin:

📂 Linux/Mac:

sudo nano /etc/elasticsearch/jvm.options

📂 Windows:

C:\Program Files\Elasticsearch\config\jvm.options

Şu satırları bul ve uygun değerleri ayarla:

-Xms4g
-Xmx4g

Örnek: 16GB RAM’li bir sunucuda 8GB heap için:

-Xms8g
-Xmx8g

3. Heap Kullanımını Test Etme

Elasticsearch çalıştıktan sonra heap kullanımını kontrol edebilirsin.

Heap Durumunu Kibana ile Kontrol Etme:
Kibana’yı aç ve aşağıdaki API çağrısını yap:

GET _nodes/stats/jvm

Bu komut, heap kullanımını ve bellek ayarlarını gösterecektir.


4. Özet ve Sonraki Adımlar

✅ Elasticsearch için heap bellek boyutunu optimize ettik.
✅ Docker veya manuel kurulum için JVM heap ayarlarını yapılandırdık.
✅ Heap kullanımını nasıl kontrol edeceğimizi öğrendik.



Yorumlar

Bu blogdaki popüler yayınlar

c# E-fatura görüntüleme aracı

Kablo Modem Netmaster CBW-700V VPN Ayarları

Sql mükerrer kayıtları silmek