2016-09-02 34 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指令。线程放在池下。传入的连接由单独的线程处理,它将查询分配给工作池。旧工人=线程为每个查询创建一个线程。

相关问题