ElasticSearch 基於配置文件、settings設置、mapping設置的性能優化

ElasticSearch 基於配置文件、settings設置、mapping設置的性能優化

配置文件優化設置

elasticsearch.yml

thread_pool:               --bulk使用的線程池方式爲fix
    bulk:
        size: 5            --bulk併發線程總數(與CPU核數相關,最大爲CPU核數+1)
        queue_size: 1000   --線程池隊列總數(越大耗費JVM內存越高)

ES索引settings優化設置

index.refresh_interval: 30s      --重要(寫入性能很大比例靠該屬性)
index.number_of_shards: 5        --默認配置
index.number_of_replicas: 1      --默認配置(將該屬性置爲0,寫入性能也會有提升)
index.translog.flush_threshold_size: 1gb  --(事務日誌最大量,只有到達該數據量時才進行落盤操作(flush))
index.translog.sync_interval: 30s         --事務日誌落盤頻率
index.translog.durability: async          --(translog)異步落盤(會有數據丟失的風險,生產環境最好使用默認值)
index.merge.scheduler.max_thread_count    --減少磁盤爭用(ssd可以忽略該條設置)

在這裏插入圖片描述

ES索引mappings配置

  1. 關閉分詞
  2. 關閉_all
  3. 關閉_source(根據情況進行設置,關閉後元數據無法通過不同查詢得到;只能聚合得到數據
  4. 將所有string類型的字段設置爲keyword

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章