2017-06-01 60 views
0

我們採用分佈式索引:我們可以在Sphinx中爲分佈式索引使用多少個代理?

index ind_mm { 
    type = distributed 
    agent = 192.168.0.11:9318:ind_1 
    agent = 192.168.0.11:9319:ind_2 
    agent = 192.168.0.22:9317:ind_3 
    agent = 192.168.0.22:9317:ind_4 
} 

是對代理商數量是否有限制?當架空井太高時?如果我們將使用大約100個agnets,性能會不會好? 1000只安格斯?

回答

2

那麼有可能沒有多少CPU擁有更多的代理在機器上。

如果有更多的代理,他們幾乎保證在覈心上排隊。即查詢不會實際並行運行。 (由於進程切換,他們可能會這麼做)

無法保證事件數量與內核數量相等,意味着每個內核有一個部件(直到操作系統向內核分配進程) - 但從理論上講,可能。

運行分佈式索引的實例將使用一個核心,因此在理想情況下,核心數量比核心少一個。

+0

如果我們的代理將位於不同的服務器上('agent = 192.168.0.11:9318:ind_1'等),該怎麼辦? – mnv

+0

那麼每臺服務器也是如此,不想讓更多的代理在一臺服務器上運行而不是運行核心。 – barryhunter

+1

但是在這種情況下,我想你的問題是更一般的'多少碎片應該用於最佳性能'?在這種情況下,確實沒有普遍的答案。我們可能會通過實驗來爲您的數據找到「汗點」。如果額外的平行性比轉移所有(越來越小的)結果和梳理它們的開銷要好 – barryhunter

相關問題