zoukankan      html  css  js  c++  java
  • tantivy&lucene功能,写入性能对比

    硬件概述:cpu:24,内存:20g,磁盘:10*2.7T。

    写入性能:(不对ip进行添加geo信息)。

    写入性能对比

    速度

    Commit耗时(秒)

    500*1000条

    Bulk耗时(秒)

    1000条dns

    Bulk耗时(秒)

    1000条tcpflow

    Bulk耗时(秒)

    1000条weblog

    Cpu占用

    磁盘使用

    数据量tcpflow

    线程配置

    tantivy

    155272

    6-19

    0.01-0.06

    0.1-0.2

    0.1-0.2

    40-80 us, 5-15 sy

    20-90

    4_000_000条,870M

    10*2+10*2*3

    lucene

    151633

    3-4

    0.2-0.3

    1.3-1.4

    1.3-1.4

    60-80 us, 5sy

    20-90

    4_500_000条,1.3G

    10*5

    功能:

    Query:查询功能。

    Query

    TermQuery
    BooleanQuery
    WildcardQuery
    PhraseQuery
    RangeQuery
    FuzzyQuery
    RegexpQuery
    ConstantScoreQuery
    PrefixQuery

    tantivy

    Y

    Y

    Y

    Y

    Y

    Y

    Y

    Y

    N

    lucene

    Y

    Y

    Y

    Y

    Y

    Y

    Y

    Y

    Y

    Collector:用来在查询时获取doc的field信息,用来排序,过滤,聚合等。

    Collector
    TopCollector
    TimeLimitingCollector
    CountCollector
    tantivy
    Y
    N
    Y
    lucene
    Y
    Y
    N

    Docvalues/fastfield:通过docvalues获取doc的field信息,用来排序,过滤,聚合等。

     

    Docvalues/fastfield

    tantivy
    fastfield(目前仅支持数字)
    lucene
    Docvalues

    IndexWriter: 写数据。

    IndexWriter

    Flush(不fsync,数据可能在buffer)

    Commit(fsync到磁盘)

    tantivy

    N(目前未发现)

    Y

    lucene

    Y

    Y

    总结:

    功能

    tantivy已实现了lucene的大多数功能。具体差异见上表。

    写入性能

    整体写入性能相近。

    bulk索引数据时,tantivy速度快于lucene。

    执行commit时,tantivy不如lucene,详见写入性能。

    磁盘占用

    磁盘占用相差不大,详见写入性能。

  • 相关阅读:
    eclipse的优化 gc.log
    一次使用Eclipse Memory Analyzer分析Tomcat内存溢出
    JVM系列三:JVM参数设置、分析
    热加载
    彻底理解JAVA动态代理
    Linux下查看Web服务器当前的并发连接数和TCP连接状态
    个人博客 V0.0.3 版本 ...
    HTML5本地存储——IndexedDB(一:基本使用)
    如何在Blog中加入Google Analytics
    webpack中实现按需加载
  • 原文地址:https://www.cnblogs.com/vsop/p/11493045.html
Copyright © 2011-2022 走看看