solr analyzer_查看您的Solr缓存大小:Eclipse Memory Analyzer

solr analyzer

Solr使用不同的缓存来防止请求期间过多的IO访问和计算。 如果索引不是很频繁发生,则可以通过使用这些缓存来获得巨大的性能提升。 根据索引数据的结构和缓存的大小,它们可能会变得很大,并占用堆内存的很大一部分。 在本文中,我想展示如何使用Eclipse Memory Analyzer来查看缓存实际在内存中使用了多少空间。

配置缓存

可以在query部分的solrconfig.xml中配置所有Solr缓存。 您会发现如下定义:

<filterCache class="solr.FastLRUCache"size="8000"initialSize="512"autowarmCount="0"/>

这是配置为使用FastLRUCache的筛选器缓存的FastLRUCache ,最大大小为8000个项目,并且没有自动预热。 Solr附带两种常用的缓存实现,即FastLRUCacheFastLRUCache ,它们使用ConcurrentHashMapLRUCache来同步调用。 某些缓存仍配置为使用LRUCache但在一些读取繁重的项目上,我也将其更改为FastLRUCache也取得了不错的效果。

另外,从Solr 3.6开始,还有LFUCache 。 我从未使用过它,它仍然标记为实验性的,随时可能更改。

Solr带有以下缓存:

过滤缓存

缓存过滤器查询的位集。 如果要重新使用过滤器,这可能是非常有效的缓存。

QueryResultCache

存储用于查询的文档ID的有序列表。

文档缓存

缓存Lucene文档的存储字段。 如果字段很大或很多,则此缓存可能会变得很大。

FieldValueCache

主要用于构面的缓存。

另外,您还将看到对FieldCache的引用,该引用不是Solr管理的缓存,无法配置。

在默认配置中,Solr每个高速缓存仅高速缓存512个项目,这通常可能太小。 您可以在核心的Plugin / Stats / Caches部分的S​​olr的管理视图中查看缓存的用法。 这将告诉您命中率以及缓存的逐出。

管理员

这些统计信息是调整缓存的一个很好的起点,但是您应该意识到,如果将大小设置得太大,则会看到一些不必要的GC活动。 这就是为什么查看内存中缓存的实际大小而不是仅查看项目数可能有用的原因。

Eclipse垫

Eclipse MAT是查看内存中的堆并查看哪些对象占用空间的绝佳工具。 顾名思义,它基于Eclipse,可以作为独立工具下载,也可以通过更新站点获得,以集成到现有实例中。

可以使用该工具直接获取堆转储,但是您也可以打开现有的转储。 如果您在缓存中保留许多项目,则打开后,它将自动计算可能已经包含某些缓存对象的最大对象的图表。

最大的对象

使用饼图下方的链接,您还可以打开更多的自动报告,例如,“最大消费者”,这是有关大型对象的更详细页面。

顶级消费者

即使您确实在此处看到某些缓存类,也无法真正看到消耗内存的是哪个缓存。 使用报告顶部的“查询浏览器”菜单,您也可以直接列出类的实例,无论它们有多大。

菜单

我们选择带有传出引用的列表对象,然后输入FastLRUCache org.apache.solr.search.FastLRUCache的类名。 对于默认配置,您将看到两个实例。 单击其中一个实例时,您可以在左下方窗口中看到缓存的名称,在本例中为过滤器缓存。

FastLRUCache

堆大小有两个可用的数字: 浅大小和保留大小 。 在查看缓存时,我们对保留的大小感兴趣,因为这是实例被垃圾回收时可用的大小,即仅由缓存使用的缓存的大小。 在我们的情况下,这大约为700kB,但可能会增长很多。

您也可以对org.apache.solr.search.LRUCache做同样的检查,以查看缓存的实际大小。

结论

缓存可以比这里的示例更大。 Eclipse Memory Analyzer已经帮了我很多忙,看看堆太大的问题是否存在。

翻译自: https://www.javacodegeeks.com/2014/05/see-your-solr-cache-sizes-eclipse-memory-analyzer.html

solr analyzer

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/341263.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

好用的电脑软件总结

一 科研 1 阅读软件 Citavi 文献阅读软件小绿鲸SCI 文献翻译软件文献翻译阅读软件 &#xff1a;Quicker沙拉查词 来自 https://mubu.com/doc/vWDgwhwdg0 注&#xff1a;沙拉查词可能出现翻译后仍然保持选中的状态&#xff0c;鼠标无法自由移动&#xff0c;针对这种情况&#…

笔记本启动与关闭自带键盘

Win S打开搜索界面 输入cmd 以管理员权限打开 执行以下命令 如果是关闭键盘 sc config i8042prt start disabled如果是开启键盘 sc config i8042prt startauto对应的注册表位置&#xff1a; [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt] "S…

lucene快速入门_为Lucene选择快速唯一标识符(UUID)

lucene快速入门大多数使用Apache Lucene的搜索应用程序都会为每个索引文档分配一个唯一的ID&#xff08;即主键&#xff09;。 尽管Lucene本身不需要这样做&#xff08;它可能不太在乎&#xff01;&#xff09;&#xff0c;但应用程序通常需要它以后通过其外部ID替换&#xff0…

vim字符串替换

vi/vim 中可以使用 &#x1f612; 命令来替换字符串。以前只会使用一种格式来全文替换&#xff0c;今天发现该命令有很多种写法(vi 真是强大啊&#xff0c;还有很多需要学习)&#xff0c;记录几种在此&#xff0c;方便以后查询。 替换    : s/vivian/sky/ 替换当前行第一个 v…

使用网真和WAD热部署Kubernetes

在Kubernetes环境中测试企业应用程序时&#xff0c;更改&#xff0c;重新打包和重新部署应用程序的周转可能变得非常高。 网真旨在通过将本地运行的进程代理到我们的Kubernetes集群中来减轻这种情况&#xff0c;就像本地进程是集群的一部分一样。 如果我们将这种方法与诸如WAD之…

git clone 项目出现 Failed to connect to github.com port 443: Timed out

将命令号中的https 改为git 就可以解决这个问题的出现

使用eclipse调试ns3-配置说明

Tips&#xff1a; 1&#xff0c; 安装eclipse时注意选择C开发组件&#xff1b; 环境配置参考&#xff1a;https://www.cnblogs.com/zlcxbb/p/3852810.html 第一步&#xff0c;新建C工程&#xff1b; 第二步&#xff0c;在project explorer中右键属性&#xff0c;如下图&#…

singleton 类_在Java中对Singleton类进行双重检查锁定

singleton 类Singleton类在Java开发人员中非常常见&#xff0c;但是它给初级开发人员带来了许多挑战。 他们面临的主要挑战之一是如何使Singleton保持为Singleton&#xff1f; 也就是说&#xff0c;无论出于何种原因&#xff0c;如何防止单个实例的多个实例。 对Singleton进行双…

将 Citavi 笔记按需要导出

文章目录简要介绍导出某一条笔记导出按条件筛选的一类笔记导出某一篇 PDF 的笔记导出全部笔记简要介绍 Citavi 的笔记功能相比其他文献管理软件较为完善&#xff0c;对 PDF 的标注是一种双链标注&#xff0c;阅读论文更方便&#xff0c;这也是当下很多笔记软件在做的功能之一&…

反应型关系数据库事务

Spring Framework最近宣布将提供对反应式事务管理的支持 。 让我们深入研究它对R2DBC&#xff08;SQL数据库访问的反应式规范&#xff09;如何工作。 事务管理是一种模式&#xff0c;而不是特定于技术的。 从这个角度来看&#xff0c;它的属性和运行时行为是实现技术的功能。…

Ubuntu20.04 服务器版安装

本篇文章是实验室服务器安装系统的总结安装总结。 1 安装的前提是具有安装启动盘&#xff0c;下载最新的Ubuntu 20.04服务器版本系统&#xff0c;制作成可启动的USB驱动器。 不同品牌的电脑安装系统的启动键不同&#xff0c;需自行百度一下自己要装的计算机的启动键。 1 进入引…

Window10:不能建立到远程计算机的连接。你可能需要更改此连接的网络设置。

解决步骤&#xff1a; 第一步&#xff1a;在桌面找到此电脑&#xff0c;鼠标右键点击&#xff0c;选择管理 第二步&#xff1a;进入计算机管理界面 第三步&#xff1a;点击设备管理器-再点击网络适配器 第四步&#xff1a;卸载WAN MIniport&#xff08;ip) 重启电脑。重新拨号&…

java默认代码地址_Java 8默认方法可能会破坏您的(用户)代码

java默认代码地址乍一看&#xff0c; 默认方法为Java虚拟机的指令集带来了一个很棒的新功能。 最后&#xff0c;库开发人员能够开发已建立的API&#xff0c;而不会对其用户代码造成不兼容性。 使用默认方法&#xff0c;当将新方法引入该接口时&#xff0c;任何实现库接口的用户…

C盘爆红的解决方法

C盘爆红的原因 1. 系统存在的过多功能 2. 安装的软件占用 3. 聊天软件文件占用 4. 临时文件占用 5. 软件缓存占用 针对不同的原因进行处理 一.关闭不用的系统功能 1. 从1903版本开始,win10 C盘就有~7G的保留空间占用&#xff1b; 提供dism命令关闭方法&#xff0c;命令…

Apache Camel 3 –骆驼核心vs骆驼核心引擎(较小的核心)

Camel团队目前正在忙于Apache Camel 3的开发。已经完成了许多工作&#xff0c;到目前为止&#xff0c;我们已经发布了3个里程碑版本。 下一个里程碑版本4具有一些出色的创新功能&#xff0c;这些功能我将在接下来的几个月中发布。 该博客的主题是我们在将骆驼核拆分成较小的模…

OneNote使用说明

Microsoft OneNote&#xff0c;是一套用于自由形式的信息获取以及多用户协作工具。OneNote最常用于笔记本电脑或台式电脑&#xff0c;但这套软件更适合用于支持手写笔操作的平板电脑&#xff0c;在这类设备上可使用触笔、声音或视频创建笔记。 感觉onenote就像纸质的笔记本&…

雷柏MT750S鼠标使用总结(驱动|连接|模式|续航)

【什么值得买 摘要频道】下列精选内容摘自于《无线办公好帮手 雷柏MT750S无线蓝牙鼠标体验》的片段&#xff1a; 驱动 雷柏MT750S的驱动软件界面比较简单&#xff0c;因为没有灯光的原因&#xff0c;软件主要是鼠标按键功能的设置&#xff0c;在左侧显示了各种功能&#xff0c…

1.0jpa 2.0_JPA 2.1实体图–第1部分:命名实体图

1.0jpa 2.0延迟加载通常是JPA 2.0的问题。 如果要使用FetchType.LAZY&#xff08;默认&#xff09;或FetchType.EAGER来加载关系&#xff0c;则必须在实体上进行定义&#xff0c;并且始终使用此模式。 仅当我们要始终加载关系时才使用FetchType.EAGER。 在几乎所有情况下都使用…

Notion,程序员最后一款笔记软件

市面上笔记软件五花八门&#xff0c;都各有特色。wolai、语雀、飞书、印象笔记、石墨、幕布、为知笔记.....等等&#xff0c;数不胜数&#xff0c;但我最终选择了notion&#xff0c;因为它实在太好用了&#xff01;&#xff01;&#xff01;如果你之前没使用过&#xff0c;赶紧…