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,详见写入性能。
磁盘占用
磁盘占用相差不大,详见写入性能。
tantivy&lucene功能,写入性能对比的更多相关文章
- nginx-haproxy-lvs功能和性能对比 nginx - max-fail + 调度算法
优点(性能和功能两方面分析) 缺点 lvs 工作在4层,可以对http,MySQL等服务负载均衡.负责流量的分发,对io,cpu,mem的消耗少 功能比较少,没有正则匹配的功能 nginx 工作在7层 ...
- 几种I/O模型功能和性能对比
对比图 同步阻塞I/O服务端通信模型(一客户端一线程) 伪异步I/O服务端通信模型(M:N) NIO服务端和客户端通信时序图
- 各类nosql db的功能与性能对比
mongodb cassandra neo4j couchbase couchdb redis leveldb
- nginx 反向代理 proxy_pass 及对比nginx与haproxy反向代理服务器功能、性能的优劣
1.使用 proxy 去请求另一个域名下的资源,如果跨域资源也部署在同一台机器上,我们甚至可以 proxy 到 127.0.0.1,比如: location /api { proxy_pass htt ...
- Elasticsearch的几种架构(ELK,EL,EF)性能对比测试报告
Elasticsearch的几种架构性能对比测试报告 1.前言 选定了Elasticsearch作为存储的数据库,但是还需要对Elasticsearch的基础架构做一定测试,所以,将研究测试报告输出如 ...
- Storm VS Flink ——性能对比
1.背景 Apache Flink 和 Apache Storm 是当前业界广泛使用的两个分布式实时计算框架.其中 Apache Storm(以下简称"Storm")在美团点评实时 ...
- RedHat 和 Mirantis OpenStack 产品的版本和功能汇总和对比(持续更新)
Mirantis 和 Red Hat 作为 OpenStack 商业化产品领域的两大领军企业,在行业内有重要的地位.因此,研究其产品版本发布周期和所支持的功能,对制定 OpenStack 产品的版本和 ...
- Java--Stream,NIO ByteBuffer,NIO MappedByteBuffer性能对比
目前Java中最IO有多种文件读取的方法,本文章对比Stream,NIO ByteBuffer,NIO MappedByteBuffer的性能,让我们知道到底怎么能写出性能高的文件读取代码. pack ...
- 不同Framework下StringBuilder和String的性能对比,及不同Framework性能比(附Demo)
本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 阅读目录 介绍 环境搭建 测试用例 MSDN说明 ...
随机推荐
- C#面向对象--命名空间与类库
1.命名空间 在源代码文件开头使用using语句引用 命名空间,就可以直接使用其中的类而不再需要指明其所属的命名空间. .NET Framework使用命名空间来管理所有的类. 类的修饰符: pu ...
- H3C 用display interface命令显示接口信息
- [转]React入门看这篇就够了
摘要: 很多值得了解的细节. 原文:React入门看这篇就够了 作者:Random Fundebug经授权转载,版权归原作者所有. React 背景介绍 React 入门实例教程 React 起源于 ...
- php_sphinx安装使用
Sphinx的简介: Sphinx是一个独立的全文索引引擎,意图为其他应用提供高速.低空间 占用.搜索结果高相关度的全文搜索功能.Sphinx可以非常容易的与 SQL数据库和脚本语言集成.内置MySQ ...
- mysql导入文件出现Data truncated for column 'xxx' at row 1的原因
mysql导入文件的时候很容易出现"Data truncated for column 'xxx' at row x",其中字符串里的xxx和x是指具体的列和行数. 有时候,这是因 ...
- JSONPath-简单入门
JSONPath - 是xpath在json的应用. xml最大的优点就有大量的工具可以分析,转换,和选择性的提取文档中的数据.XPath是这些最强大的工具之一. 如果可以使用xpath来解析json ...
- Vue+node.js实现一个简洁的个人博客系统
本项目是一个用vue和node以及mysql实现的一个简单的个人博客系统,整体逻辑比较简单.但是可以我们完整的了解一个项目从数据库到后端到前端的实现过程,适合不太懂这一块的朋友们拿来练手. 本项目所用 ...
- jQuery---鼠标滚轮控制div横向滚动条左右移动
HTML <div class="table-responsive"> <div class="fhtable" style="wi ...
- 基于vs2015 SignalR开发的微信小程序使用websocket实现聊天功能
一)前言 在微信小程上实现聊天功能,大致有三种方式:1)小程序云开发 2)购买第三方IM服务 3)使用自己的服务器自己开发. 这里重要讲使用自己的服务器自己开发,并且是基于vs的开发. 网上提供的解决 ...
- 云栖大会压轴好戏 阿里云发布视频云V5计划与系列新产品
9月25 - 27日,2019云栖大会如期召开.在大会最后一天下午,阿里云智能视频云分论坛为今年的云栖大会献上了一场精彩的压轴好戏. 视频云V5计划发布 使能生态合作伙伴 会上,阿里云智能研究员金戈进 ...