我正在决定如何在3台服务器之间拆分3个大型sphinx索引。分别搜索3个索引中的每一个。
在性能(搜索速度)方面更有效:
实施例
machine1 - index1
machine2 - index2
machine3 - index3
实施例
machine1 - index1_chunk1, index2_chunk1, index3_chunk1
machine2 - index1_chunk2, index2_chunk2, index3_chunk2
machine3 - index1_chunk3, index2_chunk3, index3_chunk3
答案 0 :(得分:0)
直观地说,我会说第一种选择会更有效率。
在这种情况下,当您搜索任何索引(例如index1)时,系统只会查找托管在其上的计算机ID,并在其上搜索,返回结果集。
在你的第二个场景中,对于每个要搜索的索引,机器必须在三台机器上分配搜索,在内存中保存不同的机器ID,在哪里找到每个块,然后在给你之前最后整理结果集结果