2011-04-20 23 views
3

我必須使用SOLR查詢超過200萬個文件和排序時間的應用程序。 這樣/select?sort=p_review_date desc&rows=10&start=0&q=*:*,參數開始查詢URL參數是可變值,每一個請求增大10. 當我使性能應力測試中,SOLR服務器的CPU使用率達到接近100%到。爲什麼CPU使用率達到接近100%時,我使用SOLR查詢中的所有文件

問: 1.什麼導致CPU使用率過高? 2.是否有辦法降低CPU使用率,例如緩存或其他配置。

這是solrconfig.xml中查詢緩存配置的一部分部分

<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> 
+1

那些緩存看起來怪異。你嘗試過較小的值嗎?你分配了多少內存? – 2011-04-20 20:44:15

+0

索引文件有5.8G。 JVM分配了「-Xms7G -Xmx10G」。 – 2011-04-20 21:04:19

回答

3

我與管理像你(使用自主搜索引擎)大指數的經驗,是100%的CPU預計。因爲索引存儲在RAM中,所以沒有I/O活動會減慢搜索操作速度,並且CPU將嘗試儘可能快地讀取RAM,即接近100%的CPU。

爲什麼你想搜索中使用50%的CPU,這將需要2倍長,對不對?

沒有爲AIX性能監控工具,稱爲nmon的。在FAQ for nmon,筆者提醒我們

如果繼續使用短 期間你最終會看到 CPU的或者是100%繁忙,或100% 閒着所有其它數字只是一個 功能的人沒有足夠快地思考 ,並且不得不在較長時間內平均使用CPU。

即使您不使用AIX作爲您的操作系統,nmon常見問題解答中還有許多有關係統/應用程序性能監視和測量的良好信息。我推薦它,或者你更多地瞭解如何診斷系統中的性能問題。

此外,您可能希望將一些標籤添加到您的帖子。在這裏SO有相當數量的活動用於基準測試和測試。

我希望這會有所幫助。

相關問題