我在设计一个新的 Solr 集群时面临可扩展性问题,我需要掌握能够处理相对较高的更新率,几乎没有读取 - 它们可以通过从属设备完成。
我现有的 Solr 实例占用了大量 RAM,实际上它开始交换时只有 450 万个文档。我有兴趣在 RAM 中尽可能少地占用空间,即使它会影响搜索性能。
那么,我可以调整哪些 Solr 配置值来完成此操作?
谢谢你。
我在设计一个新的 Solr 集群时面临可扩展性问题,我需要掌握能够处理相对较高的更新率,几乎没有读取 - 它们可以通过从属设备完成。
我现有的 Solr 实例占用了大量 RAM,实际上它开始交换时只有 450 万个文档。我有兴趣在 RAM 中尽可能少地占用空间,即使它会影响搜索性能。
那么,我可以调整哪些 Solr 配置值来完成此操作?
谢谢你。
如果不知道您的环境的具体情况(如架构、自定义索引器、查询函数等),很难说什么以及什么是大量的 ram?但你可以从
在 solrconfig.xml 中将 filterCache、queryResultCache 和 documentCache 设置为 0。这将严重影响在 SOLR 中执行的查询的性能。
将压缩设置为您存储的真正的 TextField 和 StrField 类型。然后将 compressThreshold 设置为低整数值。这将以增加 CPU 使用率为代价减小文档的大小。(有关详细信息,请参阅http://wiki.apache.org/solr/SchemaXml#head-73cdcd26354f1e31c6268b365023f21ee8796613
关闭所有自动预热查询并且不执行任何读取查询
确保你经常提交
显然,这些都是对主人而不是奴隶做的事情。