ElasticSearch匯入測試

2021-07-10 18:04:44 字數 1660 閱讀 7753

採用的是bulkindex方式,實際上就是把index操作作為prepareindex,扔到bulkrquest中,等積累到一定數量的時候再統一提交,這樣的目的無非就是為了效率。 

測試伺服器

4*2 = 8核 2.13g, 4g*4=16g, 硬碟6t 一共4臺。 

測試用例

1. case 1

index:5shards, 複製乙份資料 

資料:200萬資料,每條資料200個位元組 

a:200萬資料 1個服務(一台伺服器)3分48秒 

b:200萬資料 2個服務(一台伺服器)6分10秒 

c:200萬資料 2個服務(兩台伺服器)8分44秒 

d:200萬資料 4個服務(四台伺服器)6分20秒 

e:200萬資料 8個服務(四台伺服器)12分33秒 

看來伺服器少,服務少的情況下,速度反而快,資料分配需要占用時間;當伺服器增加到較大時,比如4臺,時間會減少,應該是並行處理起了作用,匯入時間減少。 

2. case 2

index:5shards, 複製乙份資料 

4個服務,四台伺服器 

a:650萬資料 31分50秒 

b:1.2億資料 4個小時 

3. case 3

index: 20shards, 複製零份 

4個服務(四台伺服器) 

多執行緒方式匯入資料 

a:1650萬資料,8個執行緒, 20分鐘,13750doc/s 

b:1560萬資料,16個執行緒,20分鐘,13000doc/s 

c:2700萬資料,12個執行緒,40分鐘,11250doc/s 

d:1350萬資料,8個執行緒,20分鐘(32shards, 複製零份), 11250doc/s 

多執行緒寫入對增加索引速度有很大幫助,執行緒開8個以上時效率變化不明顯,shard的增加對效率也幾乎沒有影響 

新的伺服器測試

機器配置:6*2=12核,超執行緒24核,記憶體48g,  4臺 

4個es例項,每台伺服器1個 

測試case

case 1

資料:30658837 

多執行緒開啟:4執行緒 

20 shards,無replias 

速度:34760.6doc/s 

case 2

資料:106511749 

多執行緒開啟:6執行緒 

20 shards,無replias 

速度:40997.6doc/s 

結論:執行緒數4~6,對於效率提高有但不大,相比老伺服器,新伺服器效能要好很多,效率提高了近4倍,看來硬體對es的效能影響較大。 

ElasticSearch匯入測試

採用的是bulkindex方式,實際上就是把index操作作為prepareindex,扔到bulkrquest中,等積累到一定數量的時候再統一提交,這樣的目的無非就是為了效率。測試伺服器 4 2 8核 2.13g,4g 4 16g,硬碟6t 一共4臺。測試用例 1.case 1 index 5sh...

elasticsearch配置詳解

elasticsearch的config資料夾裡面有兩個配置檔案 elasticsearch.yml和logging.yml,第乙個是es的基本配置檔案,第二個是日誌配置檔案,es也是使用log4j來記錄日誌的,所以logging.yml裡的設定按普通log4j配置檔案來設定就行了。下面主要講解下e...

誰在使用Elasticsearch

github github使用elasticsearch搜尋20tb的資料,包括13億的檔案和1300億行的 這個不用介紹了吧,碼農們都懂的,github在2013年1月公升級了他們的 搜尋,由solr轉為elasticsearch,目前集群規模為26個索引儲存節點和8個客戶端節點 負責處理搜尋請求...