2017-02-22 68 views
0

我有一個龐大的數據庫上運行的大型複雜Sphinx配置。由於旋轉需要很長時間,因此我們使用多核/ cpus將其設置爲多線程。這減少了需要自然旋轉的時間。然而,問題是我們現在是否需要以相同的方式提供該指數?如果我們使用32位cpu服務器來旋轉它,那麼我們是否需要有一個32位cpu服務器來爲索引服務,或者我們可以在完成時以某種方式將碎片重新合併爲一個?重組獅身人面像碎片?

回答

0

那麼有合併選項將兩個索引合併成一個。 http://sphinxsearch.com/docs/current.html#index-merging

但是,'旋轉'和'發球'之間的區別是什麼意思?

兩者都是由searchd完成的。旋轉正在加載一個新的索引,服務正在回答查詢。至少我的理解。

...所以可以直接查詢這些索引,假設你能夠旋轉它們。

如果能提供更多的細節,也許可以給出更詳細的答案。

+0

那麼我希望以下說明(我沒有做實際的分片只是配置);該計劃將啓動一個64-cpu服務器以多線程方式對配置進行索引。據我所知它實際上將分貝分成不連續的塊,但我可能是錯的。這是要採取一個指數,可以需要一個合理的時間框架旋轉一天。我希望能夠使用來自較小服務器的sphinx查詢(sphinxQL)運行該站點,因爲不需要64-CPU服務器24x7的成本。 – user3649739

+0

獅身人面像不限於每個核心一個索引。它可以在單個核心上非常高興地查詢64分片索引。這將只是一個接一個地完成。如果有2個核心,理論上可能會快兩倍,一次只能兩個。 4個核心再次兩次。更多的核心=更多的並行化,所以更少的查詢牆時間。更重要的是成本還是性能? :) – barryhunter

+0

啊永恆的問題:|我們的目標是用我們能夠承受的最大服務器啓動,以獲得儘可能多的性能。當然,我們希望成長爲一個儘可能最佳的表現。所以這個問題基本上可以重申爲「直到我們能夠承受一臺擁有儘可能多內核的服務器,因爲我們擁有碎片,獅身人面像才能夠在更少的內核上運行」。我認爲你回答了一個很好的答案,儘管謝謝你! – user3649739