实际上,我正在尝试启动我的Kaltura服务。与 Kaltura 一起出现的默认“狮身人面像”已被粉碎,然后被卸载。然后我在 Kaltura 之外安装了干净的“Sphinx”(来自这里的源版本)。我在/opt/sphinx/. 然后在安装后..我运行:
~ # sudo /opt/kaltura/bin/sphinx/searchd
Run Code Online (Sandbox Code Playgroud)
它显示如下:
Sphinx 2.0.2-dev (r2823)
Copyright (c) 2001-2011, Andrew Aksyonoff
Copyright (c) 2008-2011, Sphinx Technologies Inc (http://sphinxsearch.com)
using config file '/usr/local/etc/sphinx.conf'...
listening on all interfaces, port=9312
listening on all interfaces, port=9306
precaching index 'test1'
WARNING: index 'test1': preload: failed to open /var/data/test1.sph: No such file or directory; NOT SERVING
precaching index 'test1stemmed'
WARNING: index 'test1stemmed': preload: failed to open /var/data/test1stemmed.sph: No such file or directory; …Run Code Online (Sandbox Code Playgroud) 可能的重复:
你能帮助我进行容量规划吗?
我编写了一个使用 MySQL 和 Sphinx 来搜索和存储信息的应用程序。
该应用程序包含一个权重为 300GB 的数据库(主要是 text、mediumtext 和 varchars)。我的狮身人面像指数权重 30GB。
当我计划拥有一个 100GB~ 的数据库时,我的问题出现了,而我现在有一个 300GB 的数据库,无法加载到内存中(?)。
我正在寻找能够为我提供最高性能的最佳架构。
我的应用程序首先获取一个查询,然后针对 sphinx 索引运行它,从 sphinx 获取大量 ID,在数据库中查询这些 ID 的几个文本字段,并将结果发送到 .NET 排名器(特殊算法)。
为了获得最佳性能,我为 MySQL 使用了带有 2 个 SSD 磁盘(24GB ram)的 Xeon i7 W3520 服务器,这并不便宜,而且我空间不足,无法添加更多磁盘,所以我需要另一台服务器。
如果我使用带有常规磁盘的服务器来运行 mysql,您认为会对性能产生重大影响吗?我知道我需要快速磁盘来进行 sphinx 搜索(这是我的全文搜索引擎),我正在使用索引字段 (ID) 从数据库中选择行而不进行任何复杂的查询,我可能需要将数据库托管在具有足够存储空间的更便宜的服务器。
你能看出我的瓶颈吗?.NET 应用程序主要需要 RAM 和 CPU,DB 需要大量空间和/或 RAM,而 sphinx 需要快速磁盘和 RAM。