2016-09-02 68 views
0

我們有大型的斯芬克斯分佈式集羣,
單前端分佈式索引,每個後端服務器有3個小本地分佈式索引。有沒有辦法在sphinxsearch上預先啓動線程

不時,在高流量峯值,在後端服務器上,我們看到平均負載高達80

在同一時間,我可以看到獅身人面像哈威產卵150 - 200個線程,迅速下降到說50,然後他們回到150 - 200,然後再回到50,依此類推。

有沒有辦法「prefork」/預啓動這些線程?例如像apache的MinSpareServers。

事實上,我們使用專用硬件,所以我們不會有問題,如果獅身人面像閒置時使用更多的內存。

在後端服務器上,我們使用的是實時索引,我們無法切換到prefork模式。

我們有完整的root訪問權限,所以我們也可以調整linux系統設置。

回答

2

只有在2.3 workers = thread_pool創建一個固定數量的工作線程,它是1.5 *檢測核心或max_children指令。線程放在池下。傳入的連接由單獨的線程處理,它將查詢分配給工作池。舊工人=線程爲每個查詢創建一個線程。

相關問題