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



  • 相关阅读:
    调试与分析
    GCC
    汇编
    数据恢复
    TCP/IP
    shell
    vmstat、top
    计算程序运行时间的封装
    protobuf
    c++模板
  • 原文地址:https://www.cnblogs.com/liliuguang/p/11350574.html
Copyright © 2020-2023  润新知