可能的重复:
你能帮助我进行容量规划吗?
我编写了一个使用 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。