服务器、桌面和托管的 RAM 密集型、低流量应用程序服务对 API 的响应

服务器、桌面和托管的 RAM 密集型、低流量应用程序服务对 API 的响应

我们是一家初创公司,希望将我们的简历语义搜索系统投入使用。该系统需要通过运行大约 25 GB 的倒排索引数据来响应简历搜索的 API 查询(这些不是倒排文本索引,而是与等级相关的技能索引,因此需要计算和“从头开发”,而不是使用像 lucene 等库)。该应用程序使用 Python 编写,我们所需的硬件需要提供以下功能:

a. 32 GB 的 RAM,这样我们就可以将 25GB 的数据保存在内存中,以实时处理请求。b. 能够处理 3-4 个并发连接。c. 每天能够处理大约 1000 - 1500 个 API 调用。每个 API 查询都会导致对内存中的数据进行搜索计算,并根据某些匹配和排名算法返回结果。d. 正常运行时间要求不是很严格。由于我们将处于测试阶段一段时间(比如 6 个月),如果这能让我们采用更便宜的解决方案,我们可以承受高达 95% 的正常运行时间。

想要了解我们是否应该选择以下哪种系统:1. 服务器系统(主要缺点 - 成本高,对于初创公司来说现金为王)2. 主板支持 32 GB 的桌面解决方案(在我们所在的印度找不到这种系统,我们得到的最大内存是 16 GB。主要优点 - 成本。主要缺点 - 一致性不如服务器)3. 托管解决方案(主要缺点 - 专用 32 GB 服务器的成本)。

提前致谢。

答案1

这取决于你的初创公司有多少现金。

为什么不为此使用 Amazon EC2 实例?它会满足您的规格吗?

如果您想购买自己的服务器,您可以购买满足此要求的戴尔 R410 或戴尔 R510。

你还需要考虑如果成功了,你将如何扩大规模

答案2

一些粗略的数字和评论。请注意,这些值来自北美,我不知道这与印度的任何数据相比如何。

  • 每月租用 32GB 的专用服务器的费用可能在 700 美元/月左右。
  • 具有 34GB 内存的高内存双倍超大实例 Amazon EC2 实例价格相同,每月 700 美元,利用率为 100%,但不包括任何存储/带宽。您可以尝试使用亚马逊计算器并且更熟悉亚马逊服务的人可以告诉您需要什么和不需要什么。
  • 购买具有 32GB 内存的服务器起价约为 3000 美元,但这不包括任何托管/带宽。
  • 您有多确定您需要一个 25GB 的索引,全部放在 RAM 中?您是否考虑过优化索引大小?您是否对各种 RAM 大小下的索引性能进行了基准测试?您可能能够以相对较小的性能成本使用更小的 RAM 大小。
  • 考虑向外扩展而不是向内扩展。不要考虑将索引分布在多台较小的机器上,而要考虑将索引分布在多台较大的机器上。当您考虑将来可能扩展系统时,这一点尤其重要。您的索引现在是 25GB,但如果几年后它变成 100GB,您将如何有效地扩展它?

在不了解您的应用程序/业务的情况下,我会从每月租用的小型/基本专用服务器或较小的 Amazon EC2 实例开始,特别是如果您担心在大型机器上花费几千美元。看看那台小型服务器如何工作,或者不工作,看看是否可以扩展。如果可以,请根据需要开始添加更多小型服务器/实例以达到您的性能/预算目标。

相关内容