[LNMP]全文檢索引擎sphinx 與 Elasticsearch 索引速度對比

sphinx的特色之一是建立索引速度快,最近轉投Elasticsearch后,一直想做個對比,網上資料常見說法是10倍的差距。

測試環境


  • 硬件:單核,2G內存的E5-2630 虛擬機
  • 操作系統:Centos 6.5

版本


  • sphinx 版本:coreseek 4.1(基于sphinx 2.02)
  • Elasticsearch 版本:2.3.1
  • mysql 版本:5.6

分詞器(均使用默認的分詞詞庫)


  • mmseg:coreseek自帶
  • ik:Elasticsearch 插件

索引數據源


  • 數據庫:mysql
  • 數據量:46萬+篇文章,約為1.6G數據
  • 建立索引的字段:id,title,content
  • Elasticsearch 使用插件:Elasticsearch-jdbc 2.3.1

Elasticsearch 集群設置


為了盡可能接近單機測試,Elasticsearch 僅開啟一個服務節點(本地),且索引不做分片,不做副本。

測試情況


sphinx
  • 每秒處理數據量:2.77 MB
  • 每秒處理文檔數:1277 篇


    截圖-sphinx
Elasticsearch
  • 每秒處理數據量:0.794 MB
  • 每秒處理文檔數:397 篇
截圖-Elasticsearch(kibana 監控)

測試結論


  1. sphinx 索引速度確實相對比較快,可能是環境的差異,未達到官方所說的10M/s 的索引速度;
  2. 同等環境下,Elasticsearch索引速度約為sphinx的1/4,但實際生產環境下,Elasticsearch應該會有較大提升(多核、高內存硬件),而不會僅僅約400+篇/s的索引速度。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容