硬件概述: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,详见写入性能。

磁盘占用

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

05-23 11:21