在單臺機器上運行多個Solr碎片是否可以提高性能?我期望Lucene是多線程的,但它似乎並沒有在我的服務器上使用多於16個物理內核的單個內核。我意識到這是依賴於工作負載的,但任何統計數據或基準測試都會非常有用!在單臺機器上執行多個Solr碎片可以提高性能嗎?
12
A
回答
11
我跑了一些benchmarks of our search stack,發現增加更多的Solr碎片(在一臺機器上,有16個物理內核)的確提高了大約8個碎片的性能(我得到了6.5倍的加速)。這是一個大約150萬個文檔的索引,運行復雜的範圍查詢。
因此,當針對單個索引運行查詢時,Solr似乎沒有利用多個物理內核。
0
如果您目前有一個碎片一個單選框,然後分裂這個碎片分成幾個碎片:
- 有可能惡化的吞吐量,
- 可以改善延遲,通過並行查詢執行。
,因爲這取決於執行查詢是否是CPU或I/O限制,我不能爲你提供的統計數據或基準:如果查詢執行已經是I /綁定在單一框,然後分裂碎片分成幾個Ø碎片甚至會惡化吞吐量。您需要測試自己,只需拍攝一張生產日誌,並嘗試在兩個場景中重播。
+0
看到我的答案上面,它確實似乎提高性能,甚至顯着。 – cberner 2012-03-24 22:19:09
相關問題
- 1. 併發性可以提高性能嗎?
- 2. SOLR可以執行UPSERT嗎?
- 3. 我可以在多臺機器上運行F#代理嗎?
- 4. Perl - 你可以在多臺機器上運行線程嗎?
- 5. 如何在多臺機器上執行ps以監控其性能
- 6. const-correctness可以提高性能嗎?
- 7. jni可以提高反射性能嗎?
- 8. 單臺機器上可以存在多少個線程池?
- 9. 我可以在單臺PC上運行多個JVM嗎?
- 10. 多核/多處理器可以幫助Web服務器提高性能嗎?
- 11. 在多核機器上Java程序的性能如何提高
- 12. 我們可以在同一臺機器上運行兩個不同執行器的gitlab運行器嗎?
- 13. Solr MoreLikeThis不適用於多個碎片?
- 14. 我們可以在多臺機器上運行量角器測試嗎?
- 15. NSTimer *上的選擇器可以在後臺執行嗎?
- 16. 多線程可以提高性能嗎?怎麼樣?
- 17. 該素數生成器的執行時間可以提高嗎?
- 18. 一臺機器可以存在多個CLR版本嗎?
- 19. 用緩存提高SQL服務器的性能可行嗎?
- 20. 這個畫布drawImage()測試的性能可以提高嗎?
- 21. 堆積(碎片情況)。最大限度提高性能
- 22. Solr的分佈在不同的碎片+在不同的機器
- 23. 在單臺和多臺機器上設置Kafka彈性(羣集)
- 24. PHP:gzdeflate在多臺機器上安全嗎?
- 25. Solr碎片配置
- 26. 我可以在iPhone上預裝自定義字體以提高性能嗎?
- 27. 我可以在同一臺機器上託管多個網站嗎?
- 28. 單CPU單核處理器可以執行多任務嗎?
- 29. CTE能提高性能嗎?
- 30. Solr能容忍一個碎片上所有內核的丟失嗎?
昨天你有沒有讀過黑客新聞? http://carsabi.com/car-news/2012/03/23/optimizing-solr-7x-your-search-speed/ – aitchnyu 2012-03-25 06:13:01
是的,我寫道:)我希望其他人有一些我可以比較的統計數據儘管 – cberner 2012-03-25 18:18:15
@cberner這對索引性能來說是否正確,或者是完全不同的動物?我需要頻繁更新我的索引和用戶內容,並期待加快速度。 – 2012-11-21 18:00:29