ElasticSearch優化的一些方法

2021-08-27 19:10:41 字數 1127 閱讀 4309

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預留記憶體不需要額外配置,也不要讓其他程序占用這...