在单台机器上运行多个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. SOLR可以执行UPSERT吗?
- 2. 并发性可以提高性能吗?
- 3. Perl - 你可以在多台机器上运行线程吗?
- 4. 我可以在多台机器上运行F#代理吗?
- 5. const-correctness可以提高性能吗?
- 6. 单台机器上可以存在多少个线程池?
- 7. 我可以在单台PC上运行多个JVM吗?
- 8. Solr MoreLikeThis不适用于多个碎片?
- 9. 我们可以在同一台机器上运行两个不同执行器的gitlab运行器吗?
- 10. NSTimer *上的选择器可以在后台执行吗?
- 11. 多线程可以提高性能吗?怎么样?
- 12. 该素数生成器的执行时间可以提高吗?
- 13. 一台机器可以存在多个CLR版本吗?
- 14. Solr的分布在不同的碎片+在不同的机器
- 15. 用缓存提高SQL服务器的性能可行吗?
- 16. Solr碎片配置
- 17. 编码UI测试不能在一台机器上运行,但可以在另一台机器上运行
- 18. 这个画布drawImage()测试的性能可以提高吗?
- 19. 在单台和多台机器上设置Kafka弹性(群集)
- 20. PHP:gzdeflate在多台机器上安全吗?
- 21. Solr能容忍一个碎片上所有内核的丢失吗?
- 22. 我可以在同一台机器上托管多个网站吗?
- 23. 我可以在iPhone上预装自定义字体以提高性能吗?
- 24. 单CPU单核处理器可以执行多任务吗?
- 25. 在多台机器上的Oracle JDK上执行tzupdater工具
- 26. 我可以在同一台计算机上运行两台Web服务器吗?
- 27. 在多台机器或单个实例上运行sphinx
- 28. 我可以执行多个Catch块吗?
- 29. 我可以在单个Facebook粉丝页上安装多个机器人吗
- 30. MPI - 使用机器上的每个可用内核时性能不会提高
昨天你有没有读过黑客新闻? 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