採用的是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個客戶端節點 負責處理搜尋請求...