全文檢索引擎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的索引速度。




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM