Swift51.com
麦子学院 头像
麦子学院  2016-08-09 23:46

sphinx 与 Elasticsearch 索引速度对比

回复:0  查看:4780  

最近一些学习sphinx 的学生问我,sphinx的索引速度到底怎么样?这里给大家做一个比较。sphinx的特色之一是建立索引速度快,最近转投Elasticsearch后,一直想做个对比,网上资料常见说法是10倍的差距。

测试环境

 

· 硬件:单核,2G内存的E5-2630 虚拟机

· 操作系统:Centos 6.5

版本

 

· sphinx 版本:coreseek 4.1(基于sphinx 2.02

· Elasticsearch 版本:2.3.1

· mysql 版本:5.6

分词器(均使用默认的分词词库)

 

· mmsegcoreseek自带

· ikElasticsearch 插件

索引数据源

 

· 数据库:mysql

· 数据量:46万+篇文章,约为1.6G数据

· 建立索引的字段:idtitlecontent

· Elasticsearch 使用插件:Elasticsearch-jdbc 2.3.1

Elasticsearch 集群设置

 

为了尽可能接近单机测试,Elasticsearch 仅开启一个服务节点(本地),且索引不做分片,不做副本。

测试情况

 

sphinx

· 每秒处理数据量:2.77 MB

· 每秒处理文档数:1277

sphinx 与 Elasticsearch 索引速度对比 

· 

截图-sphinx

· 

Elasticsearch

· 每秒处理数据量:0.794 MB

· 每秒处理文档数:397 
sphinx 与 Elasticsearch 索引速度对比

截图-Elasticsearch(kibana 监控)

测试结论

 

1. sphinx 索引速度确实相对比较快,可能是环境的差异,未达到官方所说的10M/s 的索引速度;

2. 同等环境下,Elasticsearch索引速度约为sphinx1/4,但实际生产环境下,Elasticsearch应该会有较大提升(多核、高内存硬件),而不会仅仅约400+/s的索引速度。

 


原文来自:简书/tumg的LNMP_IOS小集