国内外新闻动态,ASO干货,行业资讯。 德普优化,出海必备ASO数据分析平台! 投稿请发送至邮箱:2902675294@qq.com

Elasticsearch和sphinx单机对比:性能、索引大小、索引速度等

资讯快闻 蓝天白云 27004℃ 0评论

一、数据集1

110w左右app数据

建索引:
          es:开12个左右进程导数据,大概要3分48秒
          sphinx:  1分6秒
索引大小上:
          es:  238M
          sphinx:  182M
搜索性能:测试12831个查询词的平均响应时间
          es直接http接口:0.0036192
          sphinx的http接口(php调用): 0.00610599的http接口,
          sphinx内部:0.0019314
在索引的实时性上面,es更优,在索引时间及硬盘开销上面,sphinx更优
查询性能上面,sphinx内部响应时间更优,但es对http接口封装更好,减少了调用和数据传输的开销

 

二、数据集2

5000w苹果评论数据
一条数据样式:
{“body”: “非常好”, “rating”: 5, “name”: “一秒深沉”, “title”: “好玩”, “appleid”: “655913723”, “date”: “2014-05-08T08:30:00Z”, “userReviewId”: “989455838”}
机器:8核 2.00GHz
内存:12G
5000w es 索引大小12G
取尾数为0的appid,总共500w左右数据
sphinx/coreseek4.1 elasticsearch2.1.0
文档数 482w 504w
索引大小 1.8G 1.2G
内存占用 656M(有部分文件自动交换进内存) 6G(可设置)
平均响应时间
首次查询平均44.34ms (100次查询appid+query)
第二次:42.92ms
首次查询平均12.23(100次查询就appid)
第二次11.71ms
首次查询平均63ms  (100次查询appid+query)
第二次:5.18ms
首次查询平均42.5ms(100次查询就appid)
第二次1.85
索引速度 6000-7000/s 1000-2000/s
 es自带缓存,粒度从测试来看比较细,缓存后效果很好
sphinx缓存不明显,但只要在内存里面性能也还好
es单机索引5000万评论,按appid路由分10片,查询性能也在100ms左右

 

三、总结

sphinx索引是静态索引,一次全量索引,sphinx也支持分布式环境,不过很多流程需要自己把握

es近实时的索引特性比较赞,自带分布式,开箱即用,集群环境配置更方便,同时在索引的设计理念上更先进些

从最底层的性能上来看,sphinx似乎会更优一些,但基于lucene的es整体功能性更强大、易用性更好。

其实这些开源搜索引擎架构上面更多时候是基于数据对引擎的配置调优,对索引的分层设计,慢查询的分析优化等等,很多问题也可以通过堆机器来解决,即使是上亿数据,直接花点钱买些机器、加些内存也可以解决。。。

 

 

转载请注明:德普微新文 » Elasticsearch和sphinx单机对比:性能、索引大小、索引速度等

喜欢 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址