2015-12-29 57 views
0

我試圖測試SOLR 5.2(我打算切換到)與SOLR 3.6(目前用於產品)的SOLR性能,我使用Jmeter執行測試,在測試計劃中有6個查詢,所有都是簡單查詢(或者查詢固定字段值,例如:some_field:「fixed_value」,或者一個簡單的方面)......問題是我期待的性能1)如果我在測試/測試標準中做了不正確的結果,導致結果不準確(如果我在測試/測試標準中做了錯誤的事情),結果不準確(更差的平均響應時間),所以我問:Solr性能基準測試(版本3.6與版本5.2)

2)或者可能是因爲查詢使用固定的值,因此從緩存或soemthing喜歡閱讀的是

3)不恰當的測試我的本地(非服務器計算機上)

4)需要調整JMeter的

5)本正常

環境的詳細信息:

WIN7 - 8GB RAM - I7

的Apache Tomcat 7/8 - 碼頭(我嘗試了所有三個都爲3.6和5.2)在每個Solr的核心

java的7/8(我都嘗試了兩個3.6和5.2)

30M的文件

的核心是使用Solr的相同版本的它在

進口指數*測試的詳細信息(在JMeter的):

60個用戶

20S斜坡上升期間

吞吐量20個請求/秒(這是預期的命中率,所以調諧延遲到達它)每個用戶

6查詢(infinetly運行)

回答

2

你的問題是關於solr 5.2的性能,只有6個查詢和簡單的方面搜索。沒有範圍查詢,沒有複雜的查詢,也沒有更新(這會清除緩存)。

我們最近也從3.X版本切換到5.X. 對於您的簡單查詢和簡單的方面,我們還有一個巨大的(因子0.8)性能迴歸。但整體而言,搜索應用程序的速度更快(因子1.2)。

從3.6開始,lucene中的很多工作都是用於近實時搜索(NRS)。主要是lucene-folk減少了對內存的影響,從IndexReaderLeafReader(=每段讀卡器)。

其他很大的改進是,lucene現在更多地瞭解索引中的令牌類型(BytesRef而不是字符串),並且可以使用Automaton來檢查索引(而不是僅僅從一個令牌跳到一個令牌其他像前綴搜索)。

每個術語對所有文檔的快速訪問是lucene從一開始就關注的焦點,並沒有得到改進。

確實solr 3.X中的簡單切面是ms中的性能窺視,因爲大多數facet值都在主內存中。所以非常快速但昂貴,只有在沒有索引更新的情況下才能實現快速。

可能您可以切換編解碼器以獲得更好的「搜索固定字段值」性能。如果您切換到版本5.4(因爲它爲speed-up faceting on doc values fields),最有可能的是您可以從您的方面搜索的新DocValues中受益。

請注意,solr-folk等待證明刻面現在真的很慢。如果你能證明在發行這也與5.4寫點東西SOLR-8096:Major faceting performance regressions

更新大約刻面:

SOLR-8096仍然是開放的,但Solr的5.5似乎是快通過SOLR-8466再次小面:Uninverted field faceting is re-enabled, for higher performance on rarely changing indices

+0

非常豐富,謝謝你 –

0

我可以確認5.2.1(5.3.x和5.4.x)之後的任何Solr版本都在我們的系統中引入了大量的性能下降。服務器上的查詢響應時間翻倍並且負載平均值變爲10.

在同一臺服務器上恢復到Solr 5.2.1並重建索引「normalises」操作。

Solr 5.3.0我們在底池和SolrJetty下進行測試,性能很差。 Solr 5.4.0用標準SolrJetty發行版(我們提出堆)進行測試,性能比5.3.0差。

服務器和JVM參數的規格保持不變。

+0

在我的情況5.3與3.6相比也有不好的結果 –