【发布时间】:2011-04-20 19:00:32
【问题描述】:
我有一个使用 SOLR 查询超过 200 万个文档并按时间排序的应用程序。
像这样/select?sort=p_review_date desc&rows=10&start=0&q=*:*查询URL参数,参数start是变量值,每次请求增加10。
当我进行性能压力测试时,SOLR 服务器的 CPU 使用率接近 100%。
问题: 1.CPU占用率高是什么原因? 2.有没有办法让CPU占用率低,比如缓存或者其他配置。
这是 solrconfig.xml 中查询缓存配置的一部分 1024
<queryResultCache
class="solr.LRUCache"
size="40960"
initialSize="10240"
autowarmCount="512"/>
<documentCache
class="solr.FastLRUCache"
size="40960"
initialSize="10240"
autowarmCount="0"/>
<enableLazyFieldLoading>true</enableLazyFieldLoading>
<queryResultWindowSize>10</queryResultWindowSize>
<queryResultMaxDocsCached>500</queryResultMaxDocsCached>
【问题讨论】:
-
那些缓存看起来很可怕。您是否尝试过较小的值?你分配了多少内存?
-
索引文件有 5.8G。 JVM 分配了“-Xms7G -Xmx10G”。