我目前使用 Sphinx Search 来优化我们的搜索页面。
该网站的受欢迎程度正在增长,这导致 Sphinx 的负载增加。尽管此时没有什么可担心的,但我想知道 Sphinx 的可扩展性如何。我在他们的网站和其他教程上读过它可以很好地扩展,但没有一个真正解释了如何准确。
有没有人在这个问题上有一些具体的例子?
我目前使用 Sphinx Search 来优化我们的搜索页面。
该网站的受欢迎程度正在增长,这导致 Sphinx 的负载增加。尽管此时没有什么可担心的,但我想知道 Sphinx 的可扩展性如何。我在他们的网站和其他教程上读过它可以很好地扩展,但没有一个真正解释了如何准确。
有没有人在这个问题上有一些具体的例子?
有两件事:
在同一台机器上扩展 - 通常每个索引使用一个核心,您可以将索引拆分为几个块(片段)并创建所谓的本地分布式索引。您还需要设置 dist_threads 来声明每次搜索要使用多少个内核(最好是拥有比块更多的内核,以便为其他进程腾出内核)
在多台机器上扩展 - 在这种情况下,每个块都在另一台服务器上(称为代理),并且一个服务器充当主服务器(或者您可以在每台机器上拥有多个块并为每个代理使用上述块)请检查http://sphinxsearch.com /docs/current.html#distributed,http://sphinxsearch.com/docs/current.html#conf-agent,http://sphinxsearch.com/docs/current.html#conf-index-type,http:// _ _ _ _ _ _ /sphinxsearch.com/docs/current.html#conf-dist-threads和http://sphinxsearch.com/blog/2011/10/19/dist_threads-the-new-right-way-to-use-many-cores /