2010-03-23 58 views
0

我決定如何在3臺服務器之間拆分3個大型獅身人面像索引。 3個索引中的每一個都單獨搜索。斯芬克斯搜索分佈式索引調優

什麼在性能方面更有效(搜索速度):

  1. 到主機單獨的機器上的每個索引

machine1 - index1 
machine2 - index2 
machine3 - index3 
  • 或將每個索引拆分爲3個部分並將相同索引的每個部分託管在分隔符上te機器。
  • machine1 - index1_chunk1, index2_chunk1, index3_chunk1 
    machine2 - index1_chunk2, index2_chunk2, index3_chunk2 
    machine3 - index1_chunk3, index2_chunk3, index3_chunk3 
    

    回答

    0

    直覺上,我會說第一個選項會更有效率。

    在這種情況下,當您搜索任何索引(比如index1)時,系統只會查找其託管的計算機ID,然後在其上搜索並返回結果集。

    在第二種情況下,對於要搜索的每個索引,計算機必須在三臺計算機上分配搜索結果,保存內存中不同的計算機ID,以及在哪裏找到每個塊,然後在給出結果集你的結果。

    +0

    是的,但在第二種情況下,系統將能夠並行搜索相同的索引,這可能對性能有好處。幾乎沒有塊,因此找到並保存塊的表並不是一個大問題。 – 2010-03-30 08:58:57