首先,在 centOs 服务器上安装 Sphinx 的最佳方法是什么
rpm -ivh http://sphinxsearch.com/downloads/accept.php?file=sphinx-2.0.6-1.rhel6.x86_64.rpm
yum install sphinx
似乎没有用。
另外,我的设置是一台应用服务器和一台数据库服务器。应用服务器运行 Magento,它有与 Sphinx 配合使用的新模块,但目前还不清楚Sphinx 文档以及任何谷歌搜索,应该在哪个服务器上安装 Sphinx 才能获得最佳效果。
答案1
首先,您需要直接链接到文件,而不是网络表单。
rpm -ivh http://sphinxsearch.com/files/sphinx-2.0.6-1.rhel6.x86_64.rpm
我读过的大多数文档都说套接字的查找速度比 TCP/IP 更快,并且考虑到 Sphinx 将从 mysql 获取/解析数据,因此能够尽可能直接地获取该信息似乎是最明智的事情。
这里明显的问题是每一方要完成多少工作,如果你的应用服务器的负载一直较低,那么 TCP/IP 的轻微开销可能是值得接受的,以免再减慢你的 SQL 服务器的速度。
答案2
首先,我不太愿意直接通过 HTTP 安装软件包。我更喜欢使用 wget 或类似工具下载软件包,验证任何 md5sum,并确保软件包未被篡改。如果这些都通过,我就会安装。这只是我现在做的一件事,也是将来要考虑的事情。
其次,我认为这完全取决于应用服务器的当前和未来负载。如果您预计它不会承受过大的负载,并且当前的 Web 服务器运行稳定,那么我会将其安装在应用服务器上。虽然不知道安装的依赖关系到底是什么,但我认为这种方式配置会更容易,尤其是如果它需要 apache 时。在 DB 服务器上安装 sphinx 可能也需要 apache,这会增加该服务器的负载。
最后,关于“最佳效果”,我认为你必须知道你对应用程序的期望是什么。如果毫秒对你来说很重要,那么你会想要以最快的路径获取数据并构建你的架构来支持它。如果他们不这样做,那么将数据库放在第二台服务器上,该服务器可能位于同一个网络中,并通过 tcp/ip 连接就可以了。但同样,这一切都取决于你的期望。