Sphinx实时索引支持多线程搜索吗?如果它们是分布式索引的一部分呢



问题与斯芬克斯实时(rt)索引有关。我有一个包含三个rt索引的分布式索引。每个rt索引每个rt索引大约有2100万个文档(总计3*21=6300万)。

我正在努力提高这个索引配置的性能,并遇到了这个信息丰富的帖子:

到目前为止,RT索引每次搜索将只使用一个核心,否不管它有多少个磁盘块(这种情况将来可能会改变!)。

来源http://sphinxsearch.com/blog/2014/02/12/rt_performance_basics/comment-page-1/(链接日期为2014年)

上面的语句是否意味着索引的上述配置每次搜索都将始终以单线程方式运行,因此,如果我在一个分布式索引中有三个rt索引,那么在一台四核机器上,只能同时进行三个搜索,然后由分布式索引将其分布在三个核上?

斯芬克斯全文索引

分布式索引应该在一个新线程中运行每个组件索引,但每个RT索引都将是单线程的。

因此它可以使用3个核心来运行查询(每个核心一个RT索引)

但是,请注意,线程到内核的映射并不是绝对的。这取决于操作系统。这三个"线程"最终可能在一个内核上运行。…此外,sphinx并不局限于运行与内核数量一样多的线程。它可能会产生更多的线程,这些线程会争夺核心。

最新更新