Java SOLR性能调整
我读过以下内容: 我对一些事情有疑问:Java SOLR性能调整,java,solr,lucene,Java,Solr,Lucene,我读过以下内容: 我对一些事情有疑问: 如果我使用JVM选项-XX:+UseCompressedStrings我可以节省多少内存?举一个简单的例子,如果我有一个索引字段(字符串)和一个存储字段(字符串),其中omitNorms=true和omitTf=true,那么在索引和文档缓存中可以节省多少钱?我猜大概是50%,但这可能太乐观了 Solr筛选器缓存具体在什么时候运行?如果我只是用AND和几个OR做一个简单的查询,然后按分数排序,我需要它吗 如果我想在文档缓存中缓存所有文档,我将如何计算
-XX:+UseCompressedStrings
我可以节省多少内存?举一个简单的例子,如果我有一个索引字段(字符串)和一个存储字段(字符串),其中omitNorms=true和omitTf=true,那么在索引和文档缓存中可以节省多少钱?我猜大概是50%,但这可能太乐观了*:*
会这样做吗根据我自己在Solr性能调优方面的经验,您应该让Solr处理查询,而不是文档存储。您的大多数问题都集中在文档如何占用空间上。Solr是一个搜索引擎,而不是文档存储库。如果您希望Solr速度快,占用的内存最少,那么它唯一应该保留的就是用于搜索目的的索引信息。文档本身应该在别处存储、检索和呈现。最好是在专门为该工作优化的系统中。Solr文档中应该存储的唯一字段是用于从文档存储系统检索的ID。缓存 通常,缓存看起来是提高性能的好主意,但这也有很多问题:
- 缓存的对象可能会进入旧一代的垃圾收集器,而垃圾收集器的收集成本更高
- 管理插入和逐出会增加一些开销
M*4+N*S
字段缓存主要用于面和排序。即使是非常短的字符串(少于10个字符),这意味着您应该