Ana içeriğe geç

İlk Sorgunun Yavaş Gelmesi

Çözüm Seçenekleri​

1. Index Search Idle After Ayarlama​

Bir shard'ın, aramanın idle olduğu kabul edilene kadar ne kadar süreyle arama alamayacağı veya istek alamayacağını belirten değeri değiştirir.

index.search.idle.after=30sn
not
  • Bu değer arttırıldığında, refresh işlemi için iki sorgu arasında geçmesi gereken süre artar.
  • Bu sorunu sadece biraz daha uzun vadede olması için öteler.
  • Eğer sık sorgulanan bir sistem ise düşünülebilir.

2. Index Refresh Interval Ayarlama​

Index'te yapılan son değişiklikleri arama için görünür hale getiren refresh işleminin ne sıklıkta gerçekleştirileceğini belirten değeri değiştirir.

index.refresh_interval=1sn
not
  • Bu değer arttırıldığında refresh'in belirli sürelerde otomatik yapılması sağlanır.
  • Bu sorgu sonuçlarında belirli süre boyunca güncel olmayan verilerin gelebilmesine ve sistem kaynaklarının daha fazla tüketilmesine yol açar.
  • Eğer sık sorgulanma yapılmıyorsa ama sorgulama yapan uygulamanın performanslı olması gerekiyorsa ayarlanması önem arz eder.
  • Bu yenileme süresinin fine-tune edilmesi ihtiyacınıza göre değişir.

Index Ayarını Değiştirme​

bilgi

elasticsearch.yml dosyasında index bazlı ayarlar yapılamaz.

Index bazlı ayarlar ya index template kullanarak ya da index ayar API'si kullanılarak değiştirilebilir.

API Kullanımı​

Tüm Index'lerde Ayarlama​

Aşağıda tüm index'lerde bu ayarın API kullanımı ile ayarlanması gösterilmiştir:

curl -X PUT "<ELASTICSEARCH_IP>:9200/_all/_settings?preserve_existing=true&ignore_unavailable=true" \
--header 'Content-Type:application/json' \
-d '{
"index": {
"refresh_interval": "5s"
}
}'

Belirli Index'te Ayarlama​

Aşağıda sadece belirtilen index'te bu ayarın API kullanımı ile ayarlanması gösterilmiştir:

curl -X PUT "<ELASTICSEARCH_IP>:9200/apinizer-log-apiproxy-<INDEX_KEY>/_settings?preserve_existing=true&ignore_unavailable=true" \
--header 'Content-Type:application/json' \
-d '{
"index": {
"refresh_interval": "5s"
}
}'

Index Template Kullanımı​

Aşağıda sadece ilgili index için Index Template kullanılarak bu ayarın ayarlanması gösterilmiştir:

not

Index Template kullanımı, yeni oluşturulacak index'ler için otomatik olarak bu ayarların uygulanmasını sağlar.

{
"data_stream": {},
"index_patterns": [
"<INDEX_PATTERN_NAME>"
],
"template": {
"mappings": { ... },
"settings": {
"index": {
"lifecycle": {
"name": "<ILM_POLICY_NAME>"
},
"number_of_replicas": "0",
"number_of_shards": "1",
"refresh_interval": "5s"
}
}
}
}