Elasticsearch的一些優化

2021-09-02 16:37:08 字數 1195 閱讀 6340

1. 多執行緒程式插入,可以根據伺服器情況開啟多個執行緒index

速度可以提高n倍, n>=2

2. 如果有多台機器,可以以每台設定n個shards的方式,根據業務情況,可以考慮取消replias

curl -xput '' -d '

}' 這裡設定20個shards, 複製為0,如果需要replicas,可以完成index後再修改為replicas>=1

原文:

3. 提高es占用記憶體

記憶體適當調大,初始是256m, 最大1g,

調大後,最小和最大一樣,避免gc, 並根據機器情況,設定記憶體大小,

$ bin/elasticsearch -f -xmx4g -xms4g -des.index.storage.type=memory

原文:

4. 減少shard重新整理間隔

curl -xput '_settings' -d '

}' 完成bulk插入後再修改為初始值

curl -xput '_settings' -d '

}' 5. 設定乙個shard的段segment最大數

可以減少段檔案數,提高查詢速度

curl -xpost '_optimize?max_num_segments=5'

注意:有時候可能需要多次執行

原文:

原文:

index中缺省會有_all的域,這個會給查詢帶來方便,但是會增加索引時間和索引尺寸

"_all" :

7. 設定source為壓縮模式或者disable

compress=true這個能大大減少index的尺寸

disable將直接沒有_source域

8. 增加merge.policy.merge_factor數

設定merge.policy.merge_factor到30,初始是10

增加這個數需要更多的記憶體,bulk index可以調大這個值.

如果是即時索引,應該調小這個值

原文:

9. 修改client獲得方式為

node node = nodebuilder().client(true).node();

client client = node.client()

相比transport client更快

測試效果,速度提高不明朗,且報錯。去除

Elasticsearch 索引管理 一

本文翻譯自elasticsearch官方指南的索引管理 index management 一章 我們已經了解了es是如何在不需要任何複雜的計畫和安裝就能讓我們很容易地開始開發乙個新的應用的。但是,用不了多久你就會想要仔細調整索引和搜尋過程來更好的適配你的用例。幾乎所有的定製都和索引 index 以及...

Elasticsearch入門簡介(一)

elasticsearch 是乙個高可用開源全文檢索和分析元件。提供儲存服務,搜尋服務,大資料準實時分析等。一般用於提供一些提供複雜搜尋的應用。elasticsearch 提供了一套基於restful風格的全文檢索服務元件。前身是compass,直到2010被一家公司接管進行維護,開始商業化,並提供...

ElasticSearch(一) 簡單介紹

elasticsearch是乙個基於lucene的搜尋伺服器。它提供了乙個分布式多使用者能力的全文搜尋引擎,基於restful web介面。驗證是否成功 http localhost 9200 pretty 一 es的核心概念 cluster 代表乙個集群,集群中有多個節點,其中有乙個為主節點,這個...