ElasticSearch優化的一些方法

2021-09-02 12:48:40 字數 1199 閱讀 3803

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 效能優化

getrace系統的所有搜尋都是用elasticsearch來做的,在使用elasticsearch的過程中碰到了一些問題,這裡記錄一下。一 在查詢呼叫鏈的時候。整體資料量大 每天60g 7 420g 但是結果集比較少 只有幾百行 的時候,查詢時間經常會超過1分鐘,慢的甚至需要5,6分鐘.優化1 經...

ElasticSearch 優化配置

索引建立優化 house properties title price area createtime lastupdatetime cityenname regionenname direction distancetosubway subwaylinename subwaystationname...

elasticsearch效能優化

elasticsearch查詢依賴作業系統的頁面快取記憶體 file system cache 因此除了需要給elasticsearch的jvm分配足夠的記憶體以外,還需要給頁快取預留記憶體。例如單機32g記憶體,給jvm配置16g記憶體後,剩餘16g預留記憶體不需要額外配置,也不要讓其他程序占用這...