亮网络解锁器,解锁网络数据的无限可能 了解详情
写点什么

Lucid Imagination 发布了 Apache Lucene 性能监测工具

  • 2009-09-11
  • 本文字数:1409 字

    阅读完需:约 5 分钟

Lucid Imagination 是一家采用 Apache Lucene 和 Solr 搜索引擎类库从事相关开发的商业公司,其引入了一个新的名叫 LucidGaze 的监测工具。该产品给开发者提供了一个针对 Lucene 的完整版本的性能监测工具。性能数据可以打印在日志文件中、存储在轮询数据库中、或者通过 Java API 来使用。如果使用了轮询数据库,则可以采用 RRD4j 类库提供的一个标准 Swing 应用程序来读取或处理该数据库。

该软件是以.jar 文件提供的,用来替代 Lucene 的.jar 文件,因此安装非常简单。开发者只需在其应用的 classpath 中将 lucene-core.2.4.1.jar 替换成 lucene-core-gaze.2.4.1.jar 即可。这样,开发者无需对其源码做出任何改变。而对于那些无法获得应用程序源代码的情况,该产品也能派上用场。

LucidGaze 给开发者提供了一系列分析方法,以观察搜索转换为文档检索操作的状况,索引分析分解用户输入处理的效果,以及文本处理和索引构建的过程。该工具使用 5 个不同的监视器来搜集统计数据:

  1. 分析统计数据:Analyzer、TokenFilter、TokenStream 和 Tokenizer 的相关数据,以及哪一个 Analyzer 被用来为特定域产生 TokenStream。
  2. 文档统计数据:已建索引文档的总数、以及索引的各个域。
  3. 索引统计数据: IndexReader 和 IndexWriter 的活动和行为,比如查看每个实例、跟踪其每个相关方法的调用、查看缓存及内存使用情况、以及索引增加和提交的平均时间。
  4. 搜索统计数据:查询操作、搜索器性能和处理时间、方法调用统计、以及对大多常用执行的查询。
  5. 存储统计数据: Lucene 存储架构的目录实例(directory instance)。

运行所有监视器的开销相当大。在与 Lucid Imagination 技术团队成员之一 Grant Ingersoll 的交谈过程中,我们得知这一范围大概在 10-15%。但是通过配置需要收集哪些统计数据以及这些数据是否需要被持久化,可以减少这一开销。

InfoQ 还与 Ingersoll 谈到了 LucidGaze 的一些典型应用。他所强调的第一种应用就是用其发现普通开发者使用 Lucene 时的常犯错误:没有关闭 IndexReader 而导致的内存泄漏。LucidGaze 搜集当前打开的 Indexeader 数量,IndexReader#reopen() 的调用次数以及其中哪一次调用是在 IndexReader 的新实例里,除此之外还有 JVM 中正在用的所有 IndexReader 所消耗的 RAM 总数。在捕捉因没有关闭 reader 而引起的内存泄漏时这些统计数据很有用处——如果你认为使用了两个 IndexReader 而内存中却有 10 个,那基本上可以肯定有地方泄漏了。第二个常见情况是在海量数据(创建和删除大量文档)站点的大量数据测试期间查看重建索引策略。Lucene 的索引数据库是由几个独立的“段(segment)”组成,每个都存储在一个独立的文件中。当你给索引增加一个文档时,可能会产生新的段。你可以压缩数据库以减少段的数量,从而加速查询,但是这样做是有开销的,而且计算出最佳策略需要大量的反复运算。LucidGaze 所提供的新创建索引段的数量、段合并的数量以及其发生的平均时间,可以帮助开发者调优其实现。该工具还可以用来查看在大量数据测试期间遇到的特定问题——分理出长时间运行的消耗过量资源的查询,或者精确定位导致处理瓶颈的域或文档。

尽管没有开源,但该产品是免费提供的,可以从 Lucid Imagination 的 Web 站点上下载。目前该软件只支持Lucene 2.4.1,但Lucid Imagination 表示如果需求量大,他们可能会提供对其它版本的支持。

查看英文原文: Lucid Imagination Releases Performance Monitoring Utility for Apache Lucene

2009-09-11 08:592537
用户头像

发布了 150 篇内容, 共 43.6 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

是否拥有具身智能,是扫地机器人能否打破“内卷”的关键

脑极体

AI 智能扫地机器人

蓝易云:介绍Nginx、正向代理和实现反向代理的两个实例

百度搜索:蓝易云

nginx 云计算 Linux 运维 Web

一文吃透零代码、低代码和aPaaS系统

这我可不懂

低代码 零代码 aPaaS

低代码平台为企业应用开发提速

树上有只程序猿

低代码

统一观测丨使用 Prometheus 监控 SQL Server 最佳实践

阿里巴巴云原生

阿里云 云原生 Prometheus

手把手带你用Python和文心一言搭建《AI看图写诗》网页项目

袁袁袁袁满

Python 人工智能

低代码:避免重复造轮子的高效工具

互联网工科生

低代码 造轮子 JNPF

CODING 界面全新升级,代码仓库 Rebase 变基合并、批量复制事项等功能上线!

CODING DevOps

golang面试基础-sync.map

Quincy

golang 数据结构 面试 后端

Linux桌面环境(桌面系统)

智趣匠

Grafana 10 新特性解读:体验与协作全面提升

阿里巴巴云原生

阿里云 云原生 Grafana

Apache Dubbo 首个 Node.js 3.0-alpha 版本正式发布

阿里巴巴云原生

阿里云 云原生 dubbo

PPT制作软件哪个好?各种类型的10款好用PPT软件盘点!

彭宏豪95

效率 PPT PPT模板 办公软件 效率办公

如何通过 NFTScan API 按照 NFT 合约地址检索数据?

NFT Research

NFT NFT\ NFTScan

永续杠杆合约交易/系统程序开发/合约策略跟单/秒合约交易源码模型

V\TG【ch3nguang】

智能量化合约跟单系统开发技术/量化交易/合约跟单交易

V\TG【ch3nguang】

音频技术团队空降直播间,揭秘小红书语音技术创新探索与落地实践

小红书技术REDtech

音频 #人工智能

多功能记事本 Notebooks for Mac激活最新版

mac大玩家j

Mac软件 笔记软件 笔记本工具

1000字扫盲RTC

X2Rtc

开源 音视频 CDN RTC

全力以赴,火山引擎边缘云代表团出战亚运会

火山引擎边缘云

电竞 边缘云 边缘云原生 亚运会

秒合约丨永续合约丨交易所系统开发方案

V\TG【ch3nguang】

现货期权合约量化/量化合约/秒合约/永续合约/交易所系统开发(开发案例及源码)

V\TG【ch3nguang】

VR虚拟现实:技在医疗行业的具体应用

3DCAT实时渲染

VR虚拟现实

蓝易云:ubuntu编译安装pcl教程。

百度搜索:蓝易云

云计算 Linux ubuntu 运维 PCL

高规格、高并发、即开即用:和鲸携手北中医,打造 AI 人才选拔的最佳实践

ModelWhale

人工智能 大数据 高等教育 人才选拔 实践考核

鹅厂练习 13 年 Coding 后,我悟了

CODING DevOps

Chrome 118 版本中的新功能

南城FE

CSS chrome 前端 浏览器

Cloud Kernel SIG 月度动态:发布多个 ANCK 版本,引入多个第三方硬件驱动

OpenAnolis小助手

Linux 龙蜥社区 anck kernel 龙蜥sig

Python 集合(Sets)3

小万哥

Python 程序员 软件 后端 开发

文本识别工具 TextSniper 免激活最新版

胖墩儿不胖y

OCR截图文字识别工具 OCR识别

苹果上架常见问题-appstore开发者名称修改

雪奈椰子

Lucid Imagination发布了Apache Lucene性能监测工具_Java_Charles Humble_InfoQ精选文章