ElasticSearch'de (Ram) Hafıza Yönetimi - ElasticSearch Türkiye
Posted on October 5, 2014 by Ahmet Müngen Posted in ElasticSearch Performans
ElasticSearch Distirbuted veya Cluster’in yapılabilen bir Arama Motorudur. Buna karşın artan veri ve request sayısı ile yanlış yapılandırılmış veya bazı ayarlar gözden kaçırılmış bir sistemde Hafıza Yönetimi konusunda ciddi sorunlar yaşanabilir. Bu sorunlar istenen talebi handle edemeyecek kadar büyük ram istemesi veya cevap süresinin çok uzun olması olabilir.
ElasticSearch memory management konusu çok geniş bir konu olmakla birlikte biz birkaç temel husus dan bahsedeceğiz.
1) Swap: Ram dolu olduğunda Ram yerine Harddisk’in kullanılmasına denir. ElasticSearch normalde swap alanını Ram’in %10 u kadar kullanır, ayarlardan bu %30’a kadar çıkartılabilir
2) Cache: ElasticSearch hem index’lerken hem search ederken ikinci aramada daha hızlı sonuç vermesi için daha önce artılan sonucun önbelleğe yazılması demektir. Cache Hızı arttırdığı ama Ram kapladığını söyleyelim
3) Search Fields list: Sadece Dönmesini istediğiniz alanları field list ile belirtin böylece fazladan field almaz, json’unuz büyümez, Ram miktarında çok ciddi olarak tasarruf sağlayabilirsiniz
4) Aramanızı Sayfalandırın, Her sayfaya bölüm boyutunuza göre 25’er adet olarak ayarlayın. Yani ilk sayfa 0-25 gelirken ikinci sayfa 25-50 getirsin. Bunu JSON Query’in içine koyun böylece sistem çok hızlanacaktır.
5) Master – Slave Node’lar: Nodu’un master veya slave olmasına dikkat edin böylece node’leri özelleştirip performans arttırabilirsiniz.
6)ES_HEAP_SIZE Ayarı: ElasticSearch Standart olarak RAM’in %50’sini kullanır. Eğer sisteminiz bunu arttırmaya müsait ise Hesap Size’ı değiştirn (Java-Heap-Size’da güncellemeyi unutmayın)
7) Faced: Faced’ler ciddi anlamada memory kullanmakta, ve büyük oranda bir indexle faced kullanılmaması gerekmektedir. Ayrıntılı bilgi bkz
Daha ayrıntılı bir yazı için Şuraya bakabilirsiniz. Yazının eski olduğuna ve bazı maddelerin geçerliliğini kaybettiğini de söylemiş olayım.
(Bu yazı zaman içinde güncellenecektir)
« ElasticSearch’de Yedekleme İşlemi / Java ile
ElasticSearch’de Döküman ve Kategori Silme »